как преобразовать msgstore.db.crypt7 в msgstore.db из WhatsApp в Android?

#android #database #sqlite

#Android #База данных #sqlite

Вопрос:

Я хочу, чтобы add автоматически связывался с этим сообщением для меня в Whatsapp, поэтому мне нужен доступ к базе данных Whatsapp для моей программы, но база данных Whatsapp не в .db формате, а в .crypt7 формате, и я не могу ее использовать. Как я могу использовать Whatsapp db или конвертировать .crypt7 в .db ?

Комментарии:

1. but whatsapps database is not .db format … к счастью ! Это важная функция безопасности (т. Е. Конфиденциальность ). Спросите разработчиков WhatsApp, как перепроектировать их базу данных.

2. Может быть, это

Ответ №1:

Как упоминал Ашеш, вы можете использовать инструмент на веб-сайте разработчика XDA: [ИНСТРУМЕНТ] Whatsapp Xtract: средство извлечения резервных копий сообщений / Анализатор базы данных / Резервное копирование чата

В качестве альтернативы вы можете сделать это вручную следующим образом:

База данных WhatsApp хранится в незашифрованном виде по этому пути на устройстве Android:

 /data/data/com.whatsapp/databases/msgstore.db
  

Резервные копии базы данных также хранятся в зашифрованном виде на SD-карте, как правило, в следующем месте:

 /sdcard/WhatsApp/Databases/msgstore.db.crypt7
  

Здесь хранится уникальный ключ для зашифрованных резервных баз данных:

 /data/data/com.whatsapp/files/key
  

Для доступа к каталогу /data/ data требуется root-доступ. В качестве альтернативы ADB (Android Debug Bridge) можно использовать для извлечения вышеуказанных файлов после загрузки в recovery на устройстве.

Как расшифровать сообщения базы данных WhatsApp crypt7:

(приведенные ниже команды выполняются из среды Linux)

  1. Извлеките ключевой файл: /data/data/com.whatsapp/files/key
  2. Извлеките файл crypt7: /sdcard/WhatsApp/Databases/msgstore.db.crypt7
  3. Извлеките ключи дешифрования из файла «key», извлеченного на шаге 1:

    • 256-битный ключ AES:

      hexdump -e '2/1 "x"' key | cut -b 253-316 > aes.txt

    • IV (вектор инициализации):

      hexdump -e '2/1 "x"' key | cut -b 221-252 > iv.txt

  4. Заголовок полосы в файле crypt7:

    dd if=msgstore.db.crypt7 of=msgstore.db.crypt7.nohdr ibs=67 skip=1

    Примечание: размер файла с разделенным заголовком в байтах должен быть кратным 16

  5. Расшифровать файл crypt7:

    openssl enc -aes-256-cbc -d -nosalt -nopad -bufsize 16384 -in msgstore.db.crypt7.nohdr -K $(cat aes.txt) -iv $(cat iv.txt) > msgstore.db

Ответ №2:

Разработчики из XDA создали инструменты для выполнения таких операций.

Вот один (только для Windows)

[ИНСТРУМЕНТ] Whatsapp Xtract

Он старый, но я уверен, что там будут новые.