https://github.com/giacomoferretti/whatsapp-backup-downloader-decryptor
A tool to download encrypted WhatsApp backups from Google Drive and decrypt them locally.
https://github.com/giacomoferretti/whatsapp-backup-downloader-decryptor
android crypt15 google-drive google-drive-backup mcrypt1 mcrypt1-metadata python whatsapp whatsapp-backup
Last synced: 2 months ago
JSON representation
A tool to download encrypted WhatsApp backups from Google Drive and decrypt them locally.
- Host: GitHub
- URL: https://github.com/giacomoferretti/whatsapp-backup-downloader-decryptor
- Owner: giacomoferretti
- License: apache-2.0
- Created: 2024-11-07T10:49:04.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2024-11-11T14:09:41.000Z (11 months ago)
- Last Synced: 2024-12-14T19:21:06.955Z (10 months ago)
- Topics: android, crypt15, google-drive, google-drive-backup, mcrypt1, mcrypt1-metadata, python, whatsapp, whatsapp-backup
- Language: Python
- Homepage:
- Size: 43.9 KB
- Stars: 3
- Watchers: 1
- Forks: 3
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# WhatsApp Backup Google Drive Downloader Decryptor
[](https://pypi.org/project/wabdd)
## Prerequisites
- End-to-end encrypted backups on Google Drive
- 64-digit encryption key (**PASSWORD IS NOT SUPPORTED**)## Usage
### Using PyPi
1. Install the `wabdd` package
```shell
pip install wabdd
```or by using `pipx`
```shell
pipx install wabdd
```2. Get token (change with your Google account email used in WhatsApp backup settings)
```shell
wabdd token YOUR_GOOGLE@EMAIL.ADDRESS
```- If you need additional information, check [the guide](#getting-the-oauth_token)
3. Download backup
```shell
wabdd download --token-file /tokens/YOUR_GOOGLE_EMAIL_ADDRESS_token.txt
```or with filters (e.g. excluding videos)
```shell
wabdd download --exclude "Media/WhatsApp Video/*" --token-file /tokens/YOUR_GOOGLE_EMAIL_ADDRESS_token.txt4. Decrypt backup (only if end-to-end encryption is enabled)
```shell
wabdd decrypt --key-file keys/PHONE_NUMBER_decryption.key dump backups/PHONE_NUMBER_DATE
```### Getting the 64-digit encryption key
#### Creating a new backup
1. Under `Settings > Chats > Chat backup > End-to-end encrypted backup`
2. Tap on `Turn on`
3. Choose `Use 64-digit encryption key instead`
4. Generate your 64-digit key
5. Copy the value into a text file (e.g. in this case `bf902e3b590af0ba781b75134c08026614ef6af12b754ee0139ebbd25f58481c`)
#### Using root access
1. Copy the `/data/data/com.whatsapp/encrypted_backup.key` to your pc
2. Run the following script```python
with open("encrypted_backup.key", "rb") as f:
print(f.read()[-32:].hex())
```3. Copy paste the output string into a new file
### Getting the `oauth_token`
1. Visit
2. Login using the Google account associated in the WhatsApp backup settings.
3. You will get the following screen
4. Now click on "I agree", the form will load indefinitely.
5. Open the Developer Tools using `F12`, `CTRL+SHIFT+I` or by right-cliking the page > Inspect
6. Now go to the Application tab, under Cookies select `https://accounts.google.com`
7. Copy the value of the `oauth_token` cookie
## Frequently Asked Question
### Does this tool support normal backups (`.crypt14`)?
No, this tool only supports end-to-end encrypted backups `.crypt15`. Follow #18 for more.
### I made the backup using a password instead of the 64-digit encryption key. Can I use this tool?
No, this tool only supports end-to-end encrypted backups that use the 64-digit encryption key. Follow #14 for more.
## 💖 Support My Work
If you find my projects useful, consider supporting me:
[](https://liberapay.com/giacomoferretti)
[](https://ko-fi.com/giacomoferretti)
[](https://www.paypal.me/hexile0)Your support helps me continue improving these tools and creating new ones. Thank you! 🙌
If you can't donate, I also appreciate **stars** ⭐ on my repositories!