Редактировать
Поскольку WhatsApp приложил некоторые усилия для улучшения своей системы шифрования, получение данных уже не так просто.В более новых версиях WhatsApp больше невозможно использовать adb backup
.Приложения могут запрещать резервное копирование, и клиент WhatsApp делает это.Если у вас есть рутированный телефон, вы можете использовать оболочку root для получения незашифрованного файла базы данных.
Если у вас нет root, вы все равно можете расшифровать данные, если у вас старый APK WhatsApp.Найдите версию, которая по-прежнему позволяет создавать резервные копии.Затем вы можете сделать резервную копию папки данных приложения, которая будет содержать ключ шифрования с именем, ну, key
.
Теперь вам понадобится зашифрованная база данных.Используйте проводник по вашему выбору или, если вам больше нравится командная строка, используйте adb:
adb pull /sdcard/WhatsApp/Databases/msgstore.db.crypt12
Используя два файла, вы теперь можете использовать https://gitlab.com/digitalinternals/whatsapp-crypt12 для получения базы данных в виде простого текста,Больше нельзя использовать инструменты для плат Linux, такие как openssl
, потому что WhatsApp, похоже, использует модифицированную версию Spongy Castle API для криптографии, которую openssl не понимает.
Оригинальный ответ (только для старого crypt7)
Поскольку WhatsApp теперь использует формат crypt7, получить и расшифровать базу данных уже не так просто.Существует рабочий подход с использованием отладки ADB и USB.
Вы можете либо получить ключи шифрования через ADB и расшифровать базу данных сообщений, сохраненную на / sdcard, либо просто получить простую версию базы данных с помощью резервного копирования ADB,что кажется более простым вариантом.
Чтобы получить базу данных, выполните следующие действия:
Подключите телефон Android к компьютеру.Теперь запустите
adb backup -f whatsapp_backup.ab -noapk com.whatsapp
для резервного копирования всех файлов, созданных WhatsApp в его личной папке.
Вы получите сжатый файл zlib в формате tar с некоторыми заголовками ADB.Нам нужно сначала избавиться от этих заголовков, так как они путают команду распаковки:
dd if=whatsapp_backup.ab ibs=1 skip=24 of=whatsapp_backup.ab.nohdr
Теперь файл можно распаковать:
cat whatsapp_backup.ab.nohdr | python -c "import zlib,sys;sys.stdout.write(zlib.decompress(sys.stdin.read()))" 1> whatsapp_backup.tar
Эта команда запускает Python и распаковывает файл, используяzlib to whatsapp_backup.tar
Теперь мы можем разархивировать файл:
tar xf whatsapp_backup.tar
Архив теперь распакован в ваш текущий рабочий каталог, и вы можете найти базы данных (msgstore.db и wa.db) вприложения / com.whatsapp / дб /