Помогите расшифровать message из message.sqlite из kakaotalk айфон

Discussion in 'Криптография, расшифровка хешей' started by iva5chka, 22 Oct 2019.

  1. iva5chka

    iva5chka New Member

    Joined:
    22 Oct 2019
    Messages:
    8
    Likes Received:
    0
    Reputations:
    0
    Всем привет есть файл из бекапа айфона "message.sqlite" там сообщения зашифрованы (чтото типа base64 с солью).
    Как подсказка для андройда вроде есть такое github com/jiru/kakaodecrypt
    Вот пример 2-ух строк из файла, помогите расшифровать или может кто знает алгоритм или формулу
    (могу заплатить не много если кто скрипт накатает - там 60тыс сообщений )

    "43" "43" "96961458590856" "165314075" "1432263137" "933661651608215552" "1" "0" "f+p5vDM0ioBXMlfe5rZQiHp/ATESr/9ehmVANyQusH0=" "NULL" "453938689.008852" "453931142" "1" "NULL" "NULL" "NULL" "NULL" "NULL" "NULL" "NULL" "NULL" "NULL" "NULL" "{"cv":"1.0"}" "1432245889" "0" "NULL"

    "52" "52" "96961458590856" "179385028" "201959384434986" "933706715336880128" "1" "0" "jxJtsc7Me6mPAakr1tmRJQ==" "NULL" "453938689.033379" "453936514" "1" "NULL" "NULL" "NULL" "NULL" "NULL" "NULL" "NULL" "NULL" "NULL" "NULL" "{"cv":"1.0"}" "1432245889" "0" "NULL"
     
  2. fandor9

    fandor9 Member

    Joined:
    16 Nov 2018
    Messages:
    86
    Likes Received:
    63
    Reputations:
    4
    Подсказка: это код не для андроида, это просто скрипт на питоне. Вы можете просто запустить этот скрипт на ваш файл:
    Code:
    python3 kakaodecrypt.py -p message.sqlite
     
    iva5chka likes this.
  3. lifescore

    lifescore Elder - Старейшина

    Joined:
    27 Aug 2011
    Messages:
    605
    Likes Received:
    421
    Reputations:
    64
    sqlite browser
    +
    notepad++ (plugin .plist)
    или plist editor

    но там все читабельно через sqlite, за исключением хистори меток, которые ios ограничивает по времени (хистори звонков старше 60 или 90 или 30 дней, не помню)

    проще я думаю будет тупо imazing, там юзерфрендли для блондинок.. если конечно фулл бэк имеется.
     
    iva5chka likes this.
  4. iva5chka

    iva5chka New Member

    Joined:
    22 Oct 2019
    Messages:
    8
    Likes Received:
    0
    Reputations:
    0
    Я имею ввиду что это скрипт для базы из андройда - в айфоне другая структура файла
     
  5. iva5chka

    iva5chka New Member

    Joined:
    22 Oct 2019
    Messages:
    8
    Likes Received:
    0
    Reputations:
    0
    я имею ввиду - я открываю через sqlite browser файл - и там текст сообщений в базе такой "f+p5vDM0ioBXMlfe5rZQiHp/ATESr/9ehmVANyQusH0="
    Как декрипт сделать знает кто? plist тоже есть у меня если он нужен для декрипта
     
  6. fandor9

    fandor9 Member

    Joined:
    16 Nov 2018
    Messages:
    86
    Likes Received:
    63
    Reputations:
    4
    ну вы можете попробовать что-то типа:
    Code:
    #!/usr/bin/python3
    from kakaodecrypt import KakaoDecrypt
    userID = 12345678;
    encType = 1;
    ciphertext = "f+p5vDM0ioBXMlfe5rZQiHp/ATESr/9ehmVANyQusH0=";
    print(KakaoDecrypt.decrypt(userID, encType, ciphertext));
    для этого вам надо сначала выяснить encType и userID для зашифрованного сообщения. encType это цельное число меньше 28, а userID это число больше 0. Они должны стоять где-то у вас в таблицах.
     
  7. iva5chka

    iva5chka New Member

    Joined:
    22 Oct 2019
    Messages:
    8
    Likes Received:
    0
    Reputations:
    0
    Ругеается чтото такое
    Code:
     python 1.py
    Traceback (most recent call last):
      File "1.py", line 2, in <module>
        from kakaodecrypt import KakaoDecrypt
      File "/home/kakao/kakaodecrypt.py", line 133
        col_defs = { row[1]: row[0] for row in rows }
                                      ^
    SyntaxError: invalid syntax
    
     
  8. fandor9

    fandor9 Member

    Joined:
    16 Nov 2018
    Messages:
    86
    Likes Received:
    63
    Reputations:
    4
    Может быть вы со 2го питона запускаете, попробуйте с 3-его
    Code:
    python3 1.py
     
  9. iva5chka

    iva5chka New Member

    Joined:
    22 Oct 2019
    Messages:
    8
    Likes Received:
    0
    Reputations:
    0
    вроде чтото выводит - но encType походу не тот где его взять непонятно - userid присутствует
     
    #9 iva5chka, 24 Oct 2019
    Last edited: 24 Oct 2019
  10. fandor9

    fandor9 Member

    Joined:
    16 Nov 2018
    Messages:
    86
    Likes Received:
    63
    Reputations:
    4
    ну так как encType лежит в маленьком интервале, то его можно легко перебрать:
    Code:
    #!/usr/bin/python3
    from kakaodecrypt import KakaoDecrypt
    userID = 12345678;
    encType = 1;
    ciphertext = "f+p5vDM0ioBXMlfe5rZQiHp/ATESr/9ehmVANyQusH0=";
    for encType in range(0,27):
        print(KakaoDecrypt.decrypt(userID, encType, ciphertext));
     
  11. iva5chka

    iva5chka New Member

    Joined:
    22 Oct 2019
    Messages:
    8
    Likes Received:
    0
    Reputations:
    0

    Я заранее извиняюсь за свою тупость...

    вот вывел он мне срокуи из hex - у меня кирриллица походу там должна быть - но почемуто на буковки непохоже

    Code:
    
    b'\nI}\xfa\xd5\x1f,.\xbc'
    
    
    
    
    
    
    b'c\xe9\x90t'
    
    b'\xc8\xae`o\xf9Z<\xd8[[*z|`k8K?\x17\xcc\xab\xf1\xd8!\xff'
    
    
    
    
    
    
    
    b'\xb5\x86?S.\xa7\x8a\xa5\xbdL\x9d\x18'
    
    
     
  12. iva5chka

    iva5chka New Member

    Joined:
    22 Oct 2019
    Messages:
    8
    Likes Received:
    0
    Reputations:
    0
    на такой вот хэш с юзер айди

    Code:
    from kakaodecrypt import KakaoDecrypt
    userID = 183936430;
    encType = 1;
    ciphertext = "bCl7dkwYzRlnuIDEPvR9zl9CxditXZLFpv7YPWfraYw=";
    for encType in range(0,27):
        print(KakaoDecrypt.decrypt(userID, encType, ciphertext));
     
Loading...