Как найти файл ключа whatsapp

В одной из статей мы рассказывали, как на примере Android- и iOS-устройств можно получить информацию из мессенджера Telegram. Сегодня мы поговорим о механизмах шифрования и дешифрования данных в мессенджере WhatsApp.

  1. Введение
  2. Шифрование данных в WhatsApp
  3. Дешифровка резервных копий WhatsApp
  4. Использование опенсорсных решений для дешифровки резервной копии WhatsApp
  5. Использование специализированного программного обеспечения
  6. Выводы

Введение

Практически каждый из нас в повседневной жизни использует различные приложения для звонков и отправки сообщений. У такого вида коммуникации есть свои преимущества: это удобно и бесплатно. В настоящее время существует множество различных мессенджеров (WhatsApp, Telegram, Viber и т. п.), и каждый пользователь рано или поздно задается вопросом — насколько безопасно использовать тот или иной мессенджер. О безопасности Telegram мы писали в статье Доступ к переписке в Telegram без пароля на устройствах Android и iOS.

Стоит отметить, что этот вопрос всегда волнует злоумышленников, которые также используют такой вид связи для общения между собой.

Рисунок 1. Сравнение мессенджеров

Сравнение мессенджеров

По этой теме читателей также наверняка заинтересует подробный Обзор безопасности популярных в России мобильных мессенджеров, который мы недавно опубликовали.

Шифрование данных в WhatsApp

Согласно имеющейся информации, WhatsApp использует сквозное шифрование. Это означает, что сообщения зашифровываются и расшифровываются непосредственно на устройстве.

Пример сквозного шифрования. Иван решил отправить некое сообщение Олегу, но не хочет, чтобы сообщение прочитали третьи лица. За несколько дней до отправки сообщения Иван запускал WhatsApp и сканировал QR-код на телефоне Олега. Теперь Иван уверен: ключ шифрования доступен только Олегу, и никто, кроме него, не сможет прочитать отправленное сообщение.

Помимо шифрования, сообщения в WhatsApp автоматически копируются и сохраняются в память устройства. В зависимости от настроек также можно периодически создавать резервные копии чатов в iCloud или Google Drive.

Резервные копии, которые сохраняются в облако, зашифрованы с использованием безопасного алгоритма AES-256, причем в разных версиях WhatsApp используются различные алгоритмы шифрования.

Резервные копии содержат следующую информацию:

  • список звонков;
  • фотографии и видеофайлы;
  • список контактов, включая телефонные номера;
  • текстовые сообщения, включая идентификаторы пользователей.

Рисунок 2. Алгоритм шифрования резервной копии данных в WhatsApp

Алгоритм шифрования резервной копии данных в WhatsApp

Дешифровка резервных копий WhatsApp

Для расшифровки резервных копий используется криптографический ключ, который создается в момент, когда пользователь впервые делает копию данных в облаке. Ключ генерируется на сервере WhatsApp и не попадает в облако.

В Android-устройствах ключ находится в каталоге data/data/сom.whatsapp/files. В iOS-устройствах ключ хранится в кейчейне и не попадает в облачные и iTunes-бэкапы.

Кроме самого ключа, который хранится на устройстве, также могут находиться зашифрованные базы данных.

Для извлечения ключа шифрования необходимо выполнить физическое извлечение данных из устройства. Но это не всегда возможно из-за проблем с программным или аппаратным обеспечением некоторых мобильных устройств.

В мобильной криминалистике эксперты часто сталкиваются с проблемами, которые не позволяют им провести полноценную экспертизу устройств и получить доступ к информации, хранимой в WhatsApp, из-за следующих проблем:

  • Устройство заблокировано.
  • Невозможно снять физический образ устройства или дешифровать его.
  • Приложение удалено с устройства владельца.

Такие проблемы возможно решить с помощью опенсорсных решений или применить специализированные программы.

Использование опенсорсных решений для дешифровки резервной копии WhatsApp

Для дешифровки резервной копии, имея key-файл, можно воспользоваться опенсорсными утилитами, например WhatsApp Crypt12 Database Decrypter, который доступен на GitHub.  Для использования данной утилиты необходимо установить среду выполнения Java.

Для дешифровки необходимо переместить файлы msgstore.db.crypt12 и key в папку с файлами  decrypt12.jar и decrypt12.java.

Далее запустить командную строку из папки, в которой содержатся вышеперечисленные файлы, и выполнить следующую команду:

java -jar decrypt12.jar key msgstore.db.crypt12 msgstore.db

Рисунок 3. Результат дешифрования резервной копии

Результат дешифрования резервной копии

Дешифрованная резервная копия сохранится в файл msgstore.db, просмотреть которую можно с помощью SQL- viewer, например DB Browser for SQLite.

Рисунок 4. Просмотр дешифрованной резервной копии с помощью DB Browser for SQLite

Просмотр дешифрованной резервной копии с помощью DB Browser for SQLite

Для упрощения дешифровки резервной копии нами разработана утилита WhatsApp Decrypter, которая упрощает данный процесс.

Рисунок 5. WhatsApp Decrypter

WhatsApp Decrypter

Использование специализированного программного обеспечения

Программное обеспечение «Мобильный Криминалист» содержит модули, позволяющие получить криптографический ключ, который необходим для дешифрования резервной копии с помощью:

  • key-файла (только для Android);
  • авторизации по токену или SMS;
  • токена авторизации WhatsApp Cloud.

Принцип работы дешифрации резервной копии заключается в следующем:

  • выполняется авторизация на сервере WhatsApp;
  • на сервер WhatsApp отправляется специальный запрос;
  • в ответ на запрос сервер WhatsApp отправляет ключ для дешифрования резервной копии.

Рисунок 6. Алгоритм дешифрования резервной копии  

Алгоритм дешифрования резервной копии

Основные преимущества «Мобильного Криминалиста»:

  • обход двухфакторной авторизации;
  • выгрузка данных напрямую с WhatsApp Cloud;
  • дешифрование любой резервной копии с помощью токена;
  • дешифрование локальных резервных копий с флеш-карты устройства.

Выводы

Мы рассмотрели, как устроено шифрование данных в WhatsApp, алгоритмы дешифрования резервной копии, а также как дешифровать имеющуюся базу данных WhatsApp.

Использование мессенджера WhatsApp при имеющемся шифровании данных не является надежным, поэтому пользователю необходимо задумываться о безопасности использования различных мессенджеров, в том числе и WhatsApp.

Скачать утилиту WhatsApp Decrypter можно здесь.

Автор выражает благодарность сотрудникам компании Oxygen Software за содействие в написании статьи.

Если мы посмотрим на файлы, которые хранит WhatsApp, то увидим, что разговоры генерируют ежедневные резервные копии в файле в формате «crypt12», который зашифрован. Теперь мы объясним как открыть файл crypt12 и увидеть его содержание.

Единственный способ сломать шифрование это получить ключ (или «ключ») WhatsApp сам сохраняет для чтения файла. Поэтому, если мы хотим открыть файл crypt12, нам необходим физический доступ к мобильному телефону с той же учетной записью WhatsApp, которая его создала.

Необходимые инструменты

Чтобы открыть файл, нам понадобится ряд инструментов, важно понять, что они из себя представляют, поэтому давайте упомянем их:

  1. Файл ключа, содержащий ключ шифрования, который сохраняется на мобильном телефоне.
  2. Открываемый файл с именем типа «msgstore-2019-07-24.1.db.crypt12».
  3. Инструмент WhatsApp Viewer для просмотра содержимого crypt12.
  4. Мобильный Android (режим разработчика должен быть активирован) и компьютер Windows,
  5. Драйверы Java и ADB установлены на вашем компьютере.

Изображение - Как открыть файл "crypt12"

Для этих последних требований у вас есть бесплатные загрузки, доступные с веб-сайта их создателей:

  1. Скачать Java для Windows

скачать "класс =" ленивый

  1. Скачать драйверы ADB (ClockWorkMod) для Windows

скачать "класс =" ленивый

Наш учебник включает в себя две разные системы, которые требуют своих собственных программ, но это основа для обоих предположений, поэтому убедитесь, что у вас все готово. Кроме того, есть два предыдущих шага, которые вы должны выполнить раньше.

Предыдущие шаги: режим разработчика и отладка по USB

Нам понадобится подключите к кабельной клемме чтобы получить файлы, и это требует активации инструментов, которые система включает в себя для разработчиков. Давайте посмотрим, как это сделать:

  1. Для активации режима разработчика необходимо ввести настройки вашего Android и получить доступ к этому меню:

Система -> О телефоне -> Номер сборки

  1. В зависимости от версии системы и настроек, применяемых производителем, вы можете изменить точное меню.
  2. В любом случае мы найдем раздел «Номер сборки», мы должны нажать 7 раз подряд в этом тексте, пока мы не подтвердим, что мы активировали режим разработчика:

Изображение - Как открыть файл "crypt12"

  1. Теперь у нас будет новое меню под названием «Опции разработчика»либо в разделе «Система», либо в качестве параметра в настройках. Там мы активируем коробку «Отладка по USB»:

Изображение - Как открыть файл "crypt12"

  1. Чтобы использовать эту отладку USB в следующих шагах, мы должны взглянуть на меню, которое появляется на телефоне при подключении к Windowsмы отметимПередача файлов «:

Изображение - Как открыть файл "crypt12"

Прежде чем идти дальше, давайте найдите файл crypt12 что мы намереваемся открыть, и разместить его на нашем ПК. Это не должно быть сложным, нам просто нужно подключить мобильный телефон с помощью кабеля к устройству (нам даже не понадобится отладка по USB) и искать его в

Внутренняя память -> WhatsApp -> Базы данных

Изображение - Как открыть файл "crypt12"

Этого будет достаточно с скопировать файл правой кнопкой мыши и вставьте его на жесткий диск ПК в том месте, которое мы предпочитаем.

Все файлы crypt12 открыть с помощью того же ключа, который мы будем извлекать из самого устройства, если не было старых, созданных с другой учетной записью WhatsApp, которая была установлена ​​в прошлом.

Может быть, мы найдем форматы crypt5, crypt7 или crypt8, которые являются предыдущими версиями, хотя мы сможем открыть их с этими же шагами.

Распакуйте ключ с рутом (Android 8 и Android 9)

Если у вас есть смартфон с некоторыми из последних двух версий Android, вам нужно иметь root, чтобы получить ключ шифрования WhatsApp, Это сложный процесс, который требует знаний и может повредить смартфон до такой степени, что производитель не соглашается ремонтировать его по гарантии.

Корень дает нам доступ к частям системы, которые по умолчанию заблокированы, поэтому получить ключ это так же просто, как скопируйте его из папки, где его сохраняет WhatsApp, Посмотрим как:

  1. Начнем с вашего смартфона уже имеет root-доступпотому что это процесс, который отличается в каждой модели. Обычно необходимо разблокировать загрузчик (мера безопасности, которая включает производителей) и использовать определенные программы, но каждый мобильный телефон имеет свою особую процедуру.
  2. Файл с ключом, который позволит нам открыть crypt12, находится по следующему пути (всякий раз, когда WhatsApp устанавливается с номером, который создал crypt12):

data / data / com.whatsapp / files / key

Изображение - Как открыть файл "crypt12"

  1. Самое простое будет найдите ключ от самого устройстваИспользуя файловый менеджер для Android, мы можем отправить его на ПК различными способами (электронная почта, Google Drive, кабельное соединение …).
  2. Как только вы получили нужный вам файл, вы можете перейти к последнему разделу, где мы объясняем, как открыть и просмотреть crypt12.

Извлечь ключ без рута (до Android 7 Nougat)

Более старые версии системы зеленых роботов могут использовать инструмент, который делает рут ненужным, поскольку ваша безопасность не так высока. Вы можете получить его бесплатно здесь:

  1. Скачать WhatsApp Key DB Extractor для Windows

скачать "класс =" ленивый

  1. Файл, который мы загружаем, будет ZIPкоторый Windows декомпрессировать изначально.
  2. Теперь вы должны подключите свой мобильный телефон через кабель к ПКс включенным режимом разработчика, как мы видели в предыдущих шагах, и принимаем отладку по USB:

Изображение - Как открыть файл "crypt12"

  1. луч двойной щелчок в архиве «WhatsAppKeyDBExtract.bat» и откроется новое командное окно. Через несколько секунд нажмите клавишу ввода на клавиатуре ПК, чтобы начать процесс:

Изображение - Как открыть файл "crypt12"

  1. В какой-то момент мобильный телефон спросит, хотим ли мы разрешить резервное копирование, мы должны разблокировать экран и принять его (без ввода пароля):

Изображение - Как открыть файл "crypt12"

  1. Теперь перед сообщениемПожалуйста, введите ваш резервный пароль « Мы дадим только вступление:

Изображение - Как открыть файл "crypt12"

  1. Процесс завершится через несколько секунд, внутри папки «WhatsApp-Key-DB-Extractor-мастер» мы должны перейти в подпапку «Извлеченные» и мы найдем файл «Whatsapp.cryptkey» с ключом, который мы искали:

Изображение - Как открыть файл "crypt12"

Посмотреть содержимое файла crypt12

Как только мы получил ключ с ключом шифрованиятем или иным способом мы можем открыть файл crypt12 с ПК, используя следующий инструмент:

  1. Скачать WhatsApp Viewer для Windows

скачать "класс =" ленивый

  1. В верхнем меню мы выбираем «Файл» («Архив» на английском ») и мы вводим опцию «Расшифровать crypt12 …»:

Изображение - Как открыть файл "crypt12"

  1. Окно спросит нас прикрепить crypt12 открыть («Файл базы данных», первая строка) и ключ сделать это («Ключевой файл», вторая строка):

Изображение - Как открыть файл "crypt12"

  1. Наконец он попросит вас место для сохранения расшифрованного контента из разговора, это может быть кто угодно, как и сам стол.

С помощью этой процедуры вы получите доступ к разговорам, сохраненным в crypt12. Следует отметить, что это не система для взлома WhatsApp или подобного, так как его требования довольно требовательны.

Единственный способ открыть crypt12 – это ключ пользователя, который его создал, и для его получения мы должны настроить вашу учетную запись на телефоне, в котором установлена ​​SIM-карта с соответствующим номером.

После объяснения как открыть файл crypt12 Мы можем сделать вывод, что это система, которую мы будем использовать очень своевременно, мы не должны рассматривать ее как способ доступа к резервной копии чатов WhatsApp, которая хранится в Google Диске, а также к недостаткам безопасности.

Вам удалось открыть crypt12? Какую из двух систем вы использовали?

Приветствую гостей и постояльцев Codeby.net!
Совсем недавно, коллега @Sunnych вдохновил на создание такой статьи.

Посмотреть вложение 21296

Она послужит неплохим дополнением, этому материалу, и возможно позже выльется в отдельную, категорию «Форензика мессенджеров» но об этом чуть позже, вернемся к основной теме.
Я буду использовать инструмент Whapa на операционной системе Kali Rolling 2018.3.

Посмотреть вложение 21297

Whapa — это набор инструментов для анализа приложения WhatsApp для Android. Все они написаны на Python 2.X.
Whapa — состоит из трех приложений:

  • Whapa (Whatsapp Parser)
  • Whademe (Whatsapp Decrypter and Merger)
  • Whagodri (Whataspp Google Drive Extractor)

Whapa — является парсером базы данных Android WhatsApp, который автоматизирует процесс и представляет данные, обрабатываемые базой данных Sqlite, таким образом, чтобы это было понятно аналитику.

Программное обеспечение разделено на четыре режима:

  • Message Mode: анализирует все сообщения в базе данных, применяя различные фильтры. Он извлекает экскизы, если они доступны. «./Media» — это каталог, в котором пишутся эскизы. Строки сортируются по метке времени, а не по id.
  • Decryption Mode: расшифровывает базы данных crypto12, если в наличии есть ключ.
  • Info Mode: отображает различную информацию о статусах, списке отправлений и группах.
  • Extract Mode: извлекает все эскизы из базы данных

Если вы скопируете базу данных «wa.db» в тот же каталог, что и скрипт, номер телефона будет отображаться вместе с именем.

Установка:

Код:

git clone https://github.com/B16f00t/whapa.git

Посмотреть вложение 21298

Код:

pip install -r ./doc/requirements.txt

Посмотреть вложение 21299

После успешной установки посмотрим поддерживаемые опции запуска приложения:

Посмотреть вложение 21300

Теперь, переходим к самому интересному, допустим, к нам в руки попал телефон злодея, он на Android OS, и мы хотим почитать его переписку WhatsApp.
Для начала нам необходимо получить root-права на устройстве, здесь я не буду описывать, как это сделать, но это нужно делать аккуратно.
Первое, что нужно сделать, это извлечь из устройства файл базы данных с расширением — .crypt12.
Для этого, перейдите в папку на карте памяти вашего устройства, в которой WhatsApp сохраняет резервные копии чатов пользователя.

Код:

/sdcard/WhatsApp/Databases

Если перейти в эту папку вы увидите в ней один файл с названием msgstore.db.crypt12, и ещё несколько файлов с названиями, как msgstore-20**-**-**.1.db.crypt12.

  • msgstore.db.crypt12 – это файл с последней резервной копией чатов WhatsApp. Именно из данного файла происходит автоматическое восстановление чатов и контактов после переустановки WhatsApp.
  • msgstore-20**-**-**.1.db.crypt12 – это резервная копия чатов приложения на конкретную дату, которая указана в названии файла. В нашем случае – это резервная копия чатов на ** — ** 20** г.

Поэтому, если необходимо восстановить чаты по состоянию на определённую дату, найдите файл, в названии которого указана эта дата и переименуйте его в msgstore.db.crypt12.
Затем, из системной папки в корневой директории Android, необходимо извлечь файл key, он пригодится для формирования расшифрованной базы данных, с последующим анализом.
Итак, поле того, как оба файла извлечены, копируем их в папку с Whapa:

Посмотреть вложение 21301

Генерируем базу данных, для последующего анализа на основе key:

Код:

python whapa.py msgstore.db.crypt12 -k key

Посмотреть вложение 21302

Начинаем работать с файлом msgstore.db, смотрим историю сообщений:

Посмотреть вложение 21303

Результат меня устроил, но утилита содержит множество опций, с помощью которых вы можете фильтровать вывод, как Вам удобно, так как whapa — изначально парсер.
Формирование отчетов:
Для создания отчетов первое, что нам нужно сделать, это отредактировать файл «./cfg/settings.cfg».

Например:

Код:

[report]
logo =./cfg/logo.png
company = Foo S.L
record = 1337
unit = Research group
examiner = Vander
notes = Chat maintained between the murderer and the murderer

Здесь мы должны поставить логотип нашей компании, название компании или подразделения, а также присвоенный регистрационный номер, единицу или группу, в которой мы принадлежим, кто является аудитором, и мы также можем указать примечания к отчету.
Чтобы сгенерировать отчет, мы должны указать флаг «-r» или «-r EN», если мы хотим, чтобы отчет на английском языке, а также «-r ES», если мы хотим, чтобы отчет на испанском языке.
Пример использования:

Код:

python2 whapa.py -m -r -u 34XXX230775 (Создает отчет о разговоре с пользователем 34XXX230775)

Обратите внимание, что для создания отчета, который имеет смысл для читателя, вы всегда должны указывать пользователя с флагом «-u» или группой с флагом «-g». (Чтобы узнать номер группы, которую мы хотим использовать в нашем отчете, мы можем сначала использовать команду «python whapa.py -i», а затем скопировать и вставить ее в команду «python -m -r -g PASTE-HERE-GROUPNUMBER @ g.us «) или флаг« -a », который создает отчет обо всех разговорах (медленный вариант).
Если вы скопируете базу данных «wa.db» в тот же каталог, что и скрипт, номер телефона будет отображаться вместе с именем.
Для отчета, содержащего изображения, видео, документы вы должны скопировать папку «WhatsApp / Media» вашего телефона в каталог whapa.
Если вы хотите распечатать документ или создать отчет в формате pdf, я рекомендую в опции печати -> масштабировать представление <= 70%, иначе отчет будет отображаться слишком большим.

С информацией о работе модулей Whademe и Whagodri, вы можете ознакомиться на странице разработчика на Github.

На этом можно закончить, спасибо за внимание.
Специально для Codeby.net
Обязательно к прочтению: Android. Ищем интересности.

I have an old phone (Galaxy S3 international unbrandedand) and I would like to decrypt my whatsapp backup files (crypt8, as recent as the latest backup which is always at 4 AM, I think).
I’ve googled many tutorials but they all seem to be outdated.
Most of them presume that the key file is located in /data/data/com.whatsapp/, however this folder does not exist on my phone.
I’ve also tried adb backup as root on my linux laptop (adb backup -f whatsapp.ab -noapk com.whatsapp), but when I transform this ab file into a tar and then extract its contents, it’s just empty.
I’ve also tried to locate the com.whatsapp folder (not the user files folder with the actual *.crypt8 files, pictures, etc), but I can’t find it anywhere on my phone.

Am I missing something? Are the whatsapp app files somewhere else now? Or has the location of whatsapp changed?









Logo

WhatsApp Key/Database Extractor

Extract key/msgstore.db from /data/data/com.whatsapp in Android v4.0+ without root.

-----------------------------------------------------

  • About the Project
    • Built With
  • Getting Started
    • Prerequisites
    • Installation
    • Standalone Operations
    • Features & ToDo
    • Demo
    • Troubleshooting
  • Roadmap
  • Limitations
  • Contributing
  • License
  • Agreement
  • Contact

-----------------------------------------------------

About The Project

This project is inspired by EliteAndroidApps/WhatsApp-Key-DB-Extractor. Since Android v4.0+ Google has removed adb backup and apps no longer supported being backed up by «adb backup -f myApp.ab -apk com.foobar.app». However there is one catch in this scenario and that is some old version of many apps including WhatsApp support that to this day, and that’s the idea…

The idea is to install «Legacy Version» of WhatsApp on you device via adb and use «adb backup» to fetch files from «/data/data/com.whatsapp» folder which includes both the «key» and «msgstore.db» (non encrypted) file and after that restore current WhatsApp.

Built With

  • Python
  • Bash (for Linux and OS X)

Depends on

  • Java (To extract backup)

-----------------------------------------------------

Getting Started

1) Before doing anything take a backup of your chats and turn off your phone’s internet so you don’t lose any new messages.
For that go to «WhatsApp Settings → Chat Settings → Chat Backup» here take a local backup.

2) If you see a folder «Android/media/com.whatsapp» copy it somewhere safe before running the script, new versions of WhatsApp are saving data here (including images and videos), I try to keep it intact during the process but you never know when code messes up.

Hope for best, prepare for Worst.

After installation follow on screen instructions.

Prerequisites

  • O/S: Any Windows/Mac/Linux. Do not have access to any of these? Try Termux Edition.
  • Python 3.x
  • Java
  • USB Debugging must be enabled on the target device. Settings → Developer Options → USB debugging.
    • If you cannot find Developer Options then go to: Settings → About phone/device and tap the Build number multiple times until you’re finally declared a developer.
  • Android device with Android 4.0 or higher. i.e. Ice Cream Sandwich, Jelly Bean, KitKat, Lollipop, Marshmallow, Nougat, Oreo, Pie, Q.

Installation (for pip/releases specific instructions go to builds branch)

  1. Clone the repo
git clone https://github.com/YuvrajRaghuvanshiS/WhatsApp-Key-Database-Extractor.git && cd WhatsApp-Key-Database-Extractor
  1. Install dependencies (for linux and OSX only): skip sudo for mac.
sudo ./bin/linux_dependencies.sh

If you’re getting any error while running above command you need to install the following manually for your linux distro.: adb tar openjdk11 7zip scrcpy

  1. Run wa_kdbe.py by double clicking the file on Windows or by

Command Line Flags

Short Flag Mode Required? Type Behavior Status
-ar —allow-reboot USB Optional Bool Reboots device before installing Legacy WhatsApp. Stable
-tip —tcp-ip IP_ADDRESS TCP Required String Connects to a remote device via TCP mode. Stable
-tp —tcp-port PORT TCP Optional String Port number to connect to. Default: 5555. Stable
-s —scrcpy Both Optional Bool Show device screen as a window using ScrCpy. Stable
-to —tar-only Both Optional Bool Get ALL files as a tarball instead of main files from WhatsApp backup. Stable

Note that TCP mode and USB mode are mutually exclusive. Either use with TCP mode or USB mode. When Android is plugged with USB don’t use TCP flags.

Mode Example usage: Long command OR Short command
TCP python3 wa_kdbe.py --tcp-ip 192.168.43.130 --tcp-port 5555 --scrcpy --tar-only OR python3 wa_kdbe.py -tip 192.168.43.130 -tp 5555 -s -to
USB python3 wa_kdbe.py -ar -s -to OR python3 wa_kdbe.py --allow-reboot --scrcpy --tar-only

Standalone Operations

These operations are standalone implementation of their defined task. One should run these when specifically needed. For ex: Process finished but WhatsApp was not reinstalled on device.

  1. Run python3 view_extract.py to unpack whatsapp.ab to whatsapp.tar and extract files. For this to work there should be «whatsapp.ab» file either in «extracted/<username>» folder or in «tmp» folder. Where «username» is name of user you entered earlier.

  2. Run python3 protect.py to compress/decompress user folder with(out) password for safekeeping. For this to work there should either be «username» folder or «username.7z» file in «extracted» folder.

  3. Run python3 restore_whatsapp.py to reinstall WhatsApp on device.

Features & ToDo

  • ✔️ Extracts msgstore.db from /data/data/com.whatsapp. (duh)
  • ✔️ Works wireless-ly without USB cable using «ADB over TCP» with --tcp-ip IP --tcp-port PORT flags.
  • ✔️ See and control your android phone with your computer using ScrCpy using --scrcpy flag.
  • ✔️ Works with any android device v4.0+ so far.
  • ✔️ Works with any android device no matter where it is in universe as long as it is running ADB over TCP.
  • ✔️ Moves msgstore.db to your phone.
  • ✔️ Creates password protected 7z file so keep your extraction safe.
  • ✔️ Continues without JAVA installed and make «whatsapp.tar» out of «whatsapp.ab» once java is installed by running python3 view_extract.py.
  • ✔️ Command line arguments
  • ✔️ ADB Devices menu.
  • ✔️ Implement datetime.
  • ✔️ Extracts backup created over TCP { #24 bintar.exe: Unexpected EOF on archive file in Windows.}.
  • ✔️ Finally logging in «log/wa_kdbe.log». Log excludes passwords, if you see any password in log file then do let know.
  • ❌ Works with WhatsApp Business.

Demo

Following gif shows the output of python3 wa_kdbe.py -ar -s -to

Project GIF

Troubleshooting

  • If running python3 wa_kdbe.py or any other file is throwing error like «python3 is recognized as internal or external command.» AND python3 is «already added to path (in case of windows)» try running files with py wa_kdbe.py instead. Read more.

  • If list is empty close terminal, remove and re-plug the device, and re-run the script. Read more.

  • If you have never used USB Debugging before, you may also need to verify the fingerprint by ticking the checkbox and tapping «allow» on device popup.

  • If you have set a default backup password in your Android settings, then this MUST be the backup password that you PROVIDE when prompted to backup your data. Else it WILL fail!

  • If you get an error saying «AES encryption not allowed» then you need to update your Oracle Java Cryptography Extension (JCE) to Unlimited Strength Jurisdiction Policy Files.

  • WhatsApp crashing? Run python3 restore_whatsapp.py. Or «clear data/storage» / uninstall and reinstall from Play Store.

  • In MIUI, «Failure [INSTALL_FAILED_USER_RESTRICTED: Install canceled by user]» occurs during installation of LegacyWhatsapp.apk, fix it by allowing install via adb

  • If «[INSTALL_FAILED_VERSION_DOWNGRADE]» run with --allow-reboot flag.

    python3 wa_kdbe.py --allow-reboot
    
  • If «[INSTALL_PARSE_FAILED_NOT_APK]» delete helpers/LegacyWhatsApp.apk and re-run.

  • If «adb: error: cannot create ‘tmp/WhatsAppbackup.apk’: Permission denied» on macOS run script with sudo.

-----------------------------------------------------

Roadmap

See the open issues for a list of proposed features (and known issues).

-----------------------------------------------------

Limitations

There always are limitations on how much we can make it work and this is what allows us to keep going. Well no matter what I do sometimes this tool just won’t work on some devices and if that’s your case you can try this fork of MarcoG3’s WhatsDump by Alessandro Maggio.

-----------------------------------------------------

Contributing

Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. «Draft» a pull request and mark it «Ready for review» once work is done.

Other ways to contribute is to buy me a coffee but let’s just say it is to test out new features of the project. No new features to test.

-----------------------------------------------------

License

Distributed under the MIT License. See LICENSE for more information.

-----------------------------------------------------

Agreement

I made this project because it was hard for me to kill time and the other one was very old.
This tool is provided «as-is» and hence you will be responsible however you use it. Cheers☕

-----------------------------------------------------

Contact

Yuvraj Raghuvanshi — @Yuvraj_R_S — Send me a mail

Project Link: https://github.com/yuvrajraghuvanshis/WhatsApp-Key-Database-Extractor

-----------------------------------------------------

Понравилась статья? Поделить с друзьями:
  • Как найти div поля
  • Как найти катет по прилегающему углу
  • Как составить платежку на алименты
  • Как найти каждый угол правильного шестиугольника
  • Как найти моду медиану размах вариации