- Методы чтения резервной копии мессенджера WhatsApp
- Почему вообще это нужно сделать
- Что понадобится для расшифровки
- Использование бесплатного программного обеспечения для расшифровки данных
- Использование утилиты WhatsApp Decrypter
- Что делать после расшифровки?
- Использование приложения Мобильный Криминалист
- Whatsapp key db extractor для windows
- Whatsapp key db extractor для windows
Методы чтения резервной копии мессенджера WhatsApp
WhatsApp — один из самых популярных мессенджеров, присутствующих на мировом рынке. И с не столь давних пор, с целью безопасности, программа стала использовать достаточно мощный и распространённый алгоритм шифрования AES-256. Используемый алгоритм шифрования может отличаться в зависимости от того, какую именно версию WhatsApp вы используете.
Почему вообще это нужно сделать
Разумеется, мы не рассматриваем в рамках данного материала всякие сомнительные причины, почему может понадобиться прочитать резервную копию WhatsApp, например, если вы хотите получить доступ к чужим данным. Это нелегально и является нарушением закона. Однако, если вы вдруг хотите восстановить свои данные, то, разумеется, вы имеете на это полное право. В резервной копии хранится следующее:
текстовые сообщения, включающие в себя идентификаторы пользователей;
список контактов (не только в рамках программы, но и список обычных телефонных номеров пользователя);
список звонков, совершённых с устройства.
Данные хранятся в облаке, на самом же устройстве хранятся зашифрованные сообщения. В зависимости от настроек, можно сохранить резервную копию также в iCloud или Google Drive.
Что понадобится для расшифровки
Оговорим сразу, что проще всего будет посмотреть резервную копию WhatsApp на телефонах с операционной системой Android, потому что ключ, который обязательно нужен для расшифровки, хранится там в виде обычного файла. Найти его можно на своём устройстве в папке data/data/сom.whatsapp/files. Он генерируется впервые, когда пользователь делает копию данных в облаке, так что, если вы активно пользуетесь этим мессенджером, ключ у вас точно есть.
Также, что логично, понадобится и сама база данных. Она хранится в файле msgstore.db.crypt12. Ну и, наконец, понадобится специальное программное обеспечение. Мы рассмотрим три варианта разной сложности, которые позволят эффективно расшифровать базу данных с вашей перепиской и прочими важными данными.
Использование бесплатного программного обеспечения для расшифровки данных
Мы будем использовать утилиту Crypt12 Database Decrypter, написанную на Java, а это значит, что на вашем компьютере должна быть установлена Java. Скорее всего, она и так установлена, но если нет, зайдите на сайт java.com и скачайте установочник. После этого:
Поместите файл приложения (точнее, два файла, decrypt12.jar и decrypt12.java) в ту же папку, где хранятся файлы ключа и базы.
Запустите командную строчку в этой папке (для этого можно, зажав Shift, щёлкнуть по пустому месту в папке, затем найти подходящий пункт меню).
Введите следующую команду: java -jar decrypt12.jar key msgstore.db.crypt12 (название выходного файла).db
На выходе получится файл, где хранится ровно та же база данных, только уже в полностью расшифрованном, спокойно открываемом виде.
Если по каким-либо причинам вы не можете использовать Java, то есть версия приложения, написанная на языке Python. Она находится ровно по той же ссылке.
Использование утилиты WhatsApp Decrypter
По сути, это приложение работает по тому же принципу, что и предыдущее, но вместо ввода команд вам достаточно воспользоваться простым интерфейсом всего с тремя кнопками. Скачать её можно по данной ссылке. Алгоритм работы с приложением будет следующим:
нажмите на кнопку Key и выберите, где находится предварительно сохранённый файл ключа;
нажмите на кнопку File DB и выберите, где у вас хранится файл базы, msgstore.db.crypt12;
нажмите на кнопку Decrypt, немного подождите, пока не будет успешно расшифрована база, после чего откройте её.
Что делать после расшифровки?
Просто расшифровать базу данных, кстати, недостаточно. Надо её ещё каким-то образом просмотреть. Ведь вы не сможете открыть файл, в котором она хранится, при помощи стандартных приложений. Но так как формат базы данных достаточно стандартный, подойдёт любое хорошее приложение для чтения баз данных. Примером может быть, например, DB Browser, но, на самом деле, вы можете выбрать любой просмотрщик баз данных, при условии, что он поддерживает формат SQL (но, скорее всего, он и так его поддерживает, т.к. это самый распространённый формат).
Использование приложения Мобильный Криминалист
Существует и более мощная альтернатива, которая не подойдёт для домашнего использования, но будет уместной, если чтение резервных копий необходимо по профессиональной деятельности. Программа Мобильный криминалист обладает десятками, если не сотнями, различных возможностей, и позволяет проводить полноценную технико-криминалистическую экспертизу в полевых и лабораторных условиях. Приложение платное, цена определяется индивидуальным образом при обращении, начинается от 289 тысяч рублей в год. Для более старых версий есть пробная версия, которую можно использовать в течение 30 дней или 30 запусков.
Работа с данным приложением происходит иным образом:
сначала приложение авторизуется на сервере WhatsApp;
туда посылается специализированный запрос;
в ответ с сервера приходит ключ, с помощью которого и происходит дешифровка.
Также приложение может осуществлять расшифровку не только при помощи файла ключа, но и с помощью токена авторизации облачного сервиса WhatsApp, а также при помощи SMS. Это означает. что гипотетически можно получить доступ к зашифрованным данным не только лишь на Android, но и на телефонах, работающих на базе операционной системы iOS.
Мы рекомендуем использовать это приложение только профессионалам, а обычным пользователям воспользоваться методами, которые были описаны выше.
Как вы убедились, расшифровать резервную копию WhatsApp не так сложно. Если это можете сделать собственными силами вы, это же сможет сделать и злоумышленник, укравший ваши данные. Потому настоятельно рекомендуем заботиться о своей безопасности, принимать меры по её защите и доверять критичную информацию только надёжным и проверенным приложениям.
Whatsapp key db extractor для windows
WhatsApp Key/DB Extractor v2.2
The purpose of this script is to provide a method for WhatsApp users to extract their cipher key on NON-ROOTED Android devices. The cipher key is required to decrypt WhatsApp CRYPT6 and CRYPT7 backup files. This script works by hooking into the USB backup feature on Android 4.0 or higher. It will NOT work with earlier Android versions or on devices where this feature has been deliberately disabled by the manufacturer. The cipher key can be used with WhatCrypt (www.whatcrypt.com), both on the website (online decryption / exportation) and with the Android App (offline decryption / recryption). Other apps and websites may also support WhatsApp cipher keys. It should be noted that WhatsApp cipher keys can roll (update) periodically. If this happens then you will need to repeat the instructions contained within this file in order to extract the latest cipher key. This script will also extract the latest UNENCRYPTED WhatsApp Message Database ( msgstore.db ) and Contacts Database ( wa.db ).
In addition to the above. A copy of the cipher key will also be pushed to the WhatsApp Database directory on the device itself and contained within a file called .nomedia . The reason for this is to allow Android Developers a unified method in which they can offer their app users WhatsApp Decryption for those willing to run this script.
- O/S: Windows Vista, Windows 7 or Windows 8, or Linux
- Java (will start installation procedure if not already present on your system)
- ADB (Android Debug Bridge) Drivers — If not installed: http://forum.xda-developers.com/showthread.php?t=2588979
- USB Debugging must be enabled on the target device. Settings -> Developer Options -> (Debugging) USB debugging If you cannot find Developer Options then please go to: Settings -> About phone/device and tap the Build number multiple times until you’re finally declared a developer.
- Extract master.zip on your computer maintaining the directory structure.
- Browse to the extracted folder and click on WhatsAppKeyExtract.bat . If it is unable to find Java installation in your system, then it will start installation. Rerun the script again after Java installation.
- Few have complained that the script keep on asking to install Java though Java is already installed, then you can click on WhatsAppKeyExtractNoJavaCheck.bat .
- Connect your device via USB, unlock your screen and wait for «Full backup» to appear. (If you have never used USB Debugging before, you may also need to verify the fingerprint.)
- Leave the password field blank and tap on «Back up my data».
- The «extracted» folder will now contain your «whatsapp.key», «msgstore.db» and «wa.db».
Linux/Mac OS X/Unix Instructions
- Extract master.zip on your computer maintaining the directory structure.
- Browse to the extracted folder and run ./WhatsAppKeyExtract.sh
- Wait for «Full backup» to appear on your phone. (If you have never used USB Debugging before, you may also need to verify the fingerprint.)
- Leave the password field blank and tap on «Back up my data».
- The key will be copied back onto your machine in such a way that WhatsApp TriCrypt will work.
- The «extracted» folder will now contain your «whatsapp.key», «msgstore.db» and «wa.db».
- Click «Enable crypt6/7 (Root Required)» in TriCrypt. After running the key fixes/scripts in this folder, root isn’t actually required.
- Click «Service Running — Tap To Enable», this will run a background service that will run each 15 mins to detect the WhatsApp Backup DB, and will automatically do the Decrypt/Recrypt DB.
- Sit back and enjoy.
- Click «Decrypt WhatsApp Database».
- Click «Recrypt WhatsApp Database».
- (Optional) Click «Trigger SMS Backup+».
Make sure you have enable the «3rd party integration» from the Auto backup setting menu at SMS Backup+, so that TriCrypt can trigger it once it is done with Decrypt/Recrypt.
Whatsapp key db extractor для windows
WhatsApp Key/Database Extractor
Extract key/msgstore.db from /data/data/com.whatsapp in Android v4.0+ without root.
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.
Depends on
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 bacakup. Prepare for Worst. After intallation follow on screen instructions.
- O/S: Any Windows/Mac/Linux. Do not have access to any of these? Try Termux Edition.
- Python 3.x
- Java
- ADB Drivers
- USB Debugging must be enabled on the target device. Settings → Developer Options → USB debugging.
- If you cannot find Developer Options then please 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.
- Install dependencies (for linux and OSX only) : skip sudo for mac.
If you’re getting any error while running above command you need to install the following manually for your linux distro. : adb curl tar openjdk11 7zip scrcpy
Command Line Flags
Short | Flag | Type | Behaviour | Status | |
---|---|---|---|---|---|
-ar | —allow-reboot | Optional | Bool | Reboots device before installing Legacy WhatsApp. | Stable |
-tip | —tcp-ip IP_ADDRESS | Optional | String | Connects to a remote device via TCP mode. | Stable |
-tp | —tcp-port PORT | Optional | String | Port number to connect to. Default : 5555. | Stable |
-s | —scrcpy | Optional | Bool | Show device screen as a window using ScrCpy. | Stable |
-to | —tar-only | Optional | Bool | Get ALL files as a tarball instead of main files from whatsapp backup. | Beta |
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.
- Run view_extract.py : To unpack whatsapp.ab to whatsapp.tar and extract files.
- IMP : For this to work there should be ‘whatsapp.ab’ file either in ‘extracted/’ folder or in ‘tmp’ folder.
- Run protect.py : To compress/decompress user folder with(out) password for safekeeping.
- IMP : For this to work there should either be «userName» folder or «userName.7z» file in ‘extracted’ folder. Where «userName» is name of user you entered earlier.
- Run restore_whatsapp.py : To reinstall WhatsApp on device.
- ✔️ Extracts msgstore.db from /data/data/com.whatsapp. (duh)
- ✔️ Works wirelessly 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 bin\tar.exe: Unexpected EOF on archive file in Windows.>.
- ❌ Works with WhatsApp Business.
If list is empty close terminal, remove and replug 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.
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 .
See the open issues for a list of proposed features (and known issues).
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.
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.
- Fork the Project
- Create your Feature Branch ( git checkout -b feature/AmazingFeature )
- Commit your Changes ( git commit -m ‘Add some AmazingFeature’ )
- Push to the Branch ( git push origin feature/AmazingFeature )
- «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. Checkout features/fast to test backup and reinstallation of WhatsApp on device level. This makes it quite time saving specially in case of TCP.
Distributed under the MIT License. See LICENSE for more information.
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 ☕