Frequently Asked Questions
Find answers to the most common questions about using the WhatsApp Forensic Tool.General Questions
What devices are supported?
What devices are supported?
The tool supports:
- Android devices (connected via USB with ADB debugging enabled)
- Direct Android execution via Termux app
- PC platforms: Windows, Linux, and macOS
Do I need root access?
Do I need root access?
No root access required for most use cases:
- When using ADB mode (PC), the tool can extract backups from accessible storage locations (
/sdcard/WhatsApp) - When running via Termux on Android, storage permissions are requested to access internal storage
/data/data/com.whatsapp/files/key, which requires privileged access. However, if you have the 64-character hexadecimal backup encryption key (obtained when enabling E2E encrypted backups), root is not necessary.Where do I get the encryption key?
Where do I get the encryption key?
There are two types of encryption keys:The tool will automatically save and reuse keys for future decryptions of the same device/package combination.
64-Character Hexadecimal Key (Recommended)
This key is generated when you enable End-to-End Encrypted Backups in WhatsApp:- Open WhatsApp > Settings > Chats > Chat Backup
- Enable “End-to-end encrypted backups”
- Choose “Use 64-digit encryption key”
- Save this key immediately - you cannot retrieve it later
Root-Extracted Key File
If you have root access, you can extract thekey file from:What crypt formats are supported?
What crypt formats are supported?
The tool supports three WhatsApp database encryption formats:
- crypt12 - Older WhatsApp backup format (AES-GCM encryption)
- crypt14 - Current standard format
- crypt15 - Latest format with enhanced security
- Known offset patterns for IV and ciphertext
- Brute-force offset scanning for non-standard layouts
- Both raw and derived key methods
- Automatic decompression (zlib)
Can I decrypt E2E encrypted backups?
Can I decrypt E2E encrypted backups?
Yes, but you need the encryption key:
- If you have the 64-character hexadecimal key saved when you enabled E2E encrypted backups, the tool can decrypt them
- Without this key, E2E encrypted backups cannot be decrypted unless you have root access to extract the key file from the device’s protected storage
Why is my device not detected?
Why is my device not detected?
If your device isn’t showing up, try these troubleshooting steps:
-
Enable USB Debugging:
- Go to Settings > About Phone
- Tap “Build Number” 7 times to enable Developer Mode
- Go to Settings > Developer Options
- Enable “USB Debugging”
-
Check USB Connection:
- Use a data-capable USB cable (not charge-only)
- Try different USB ports
- Accept any authorization prompts on your phone
-
Verify ADB Installation:
- The tool auto-installs ADB, but you can manually verify by running:
-
Restart ADB Server:
-
Check Drivers (Windows):
- Install your device manufacturer’s USB drivers
- Try using Google’s Universal ADB Driver
Can I run this on my phone?
Can I run this on my phone?
Yes! The tool has full Termux integration for direct Android execution:
Deployment Method:
- Connect your phone to your PC via USB
- Run the tool on PC and select “Deploy to Termux (Downloads)”
- Install Termux from F-Droid (not Play Store)
- Open Termux and run:
Manual Installation:
Termux mode requires storage permissions to access WhatsApp backups in internal storage.
What data can I extract?
What data can I extract?
The tool can extract and analyze:
Database Content:
- Chat messages (text, media references)
- Contact information and JIDs (WhatsApp IDs)
- Group information and participants
- Message timestamps and metadata
- Message status (sent, delivered, read)
- Deleted message indicators (if present in database)
Media Files:
- Images and photos
- Videos
- Audio messages and voice notes
- Documents (PDF, DOCX, etc.)
- Stickers and GIFs
Export Formats:
- HTML: Formatted chat view with media links
- CSV: Spreadsheet-compatible format
- JSON: Structured data for programmatic analysis
- TXT: Plain text readable format
Is this legal to use?
Is this legal to use?
The legality depends on how and where you use the tool:
Legal Uses:
- Analyzing your own device and data
- Forensic investigation with proper authorization
- Educational purposes and security research
- Parental monitoring with legal custody rights
- Corporate investigations with employee consent
Illegal Uses:
- Accessing someone else’s data without consent
- Unauthorized surveillance or spying
- Violating computer fraud laws (CFAA, etc.)
- Breaking data protection regulations (GDPR, etc.)
Does it work with iPhone/WhatsApp iOS?
Does it work with iPhone/WhatsApp iOS?
No. This tool is designed specifically for Android WhatsApp backups only.Key differences:
- iOS WhatsApp backups use iCloud with different encryption
- iOS file system structure is completely different
- ADB doesn’t work with iOS devices
- Different database formats and schemas
What Python version do I need?
What Python version do I need?
Python 3.8 or higher is required.The launcher scripts (
start.bat for Windows, start.sh for Linux/macOS/Android) automatically:- Detect if Python is installed
- Attempt to install Python if missing (Windows via installer, Linux via apt, macOS via brew)
- Create a virtual environment to isolate dependencies
- Install all required packages from
requirements.txt
Manual Installation:
Where are backups stored on Android?
Where are backups stored on Android?
WhatsApp stores backups in different locations depending on the Android version:
Modern Android (11+):
Legacy Android:
Backup Files:
msgstore.db.crypt15- Latest backup (crypt15 format)msgstore.db.crypt14- Previous format backupsmsgstore-YYYY-MM-DD.1.db.cryptXX- Older dated backups
Technical Questions
How does the decryption work?
How does the decryption work?
The decryption process involves several steps:
- Format Detection: Identifies crypt12, crypt14, or crypt15 format
- Key Derivation:
- For crypt14/15: Derives the actual AES key using HMAC-SHA256
- For crypt12: Uses the key directly
- IV Extraction: Locates the Initialization Vector in the encrypted file header
- Decryption: Uses AES-GCM cipher to decrypt the ciphertext
- Decompression: Decompresses the decrypted data using zlib
- Validation: Verifies the result is a valid SQLite database
- Tries known offset patterns first (fast)
- Falls back to brute-force scanning if needed (slower but comprehensive)
core/crypto_manager.py:129Can I contribute to development?
Can I contribute to development?
Absolutely! Contributions are welcome. See the Contributing Guide for:
- Code style guidelines
- Fork and pull request workflow
- Issue reporting templates
- Feature request process
- Testing requirements
What if decryption fails?
What if decryption fails?
If decryption fails, try these steps:
-
Verify the key:
- Ensure it’s exactly 64 hexadecimal characters
- No spaces or special characters
- Case doesn’t matter (hex is case-insensitive)
-
Check the backup format:
- Confirm the file extension matches the actual format
- Try a different backup file from the same device
-
Key mismatch:
- The key must match the device and WhatsApp installation
- Different devices have different keys
- Reinstalling WhatsApp generates a new key
-
Corrupted backup:
- Try an older backup file
- Re-extract the backup from the device
How do I report bugs?
How do I report bugs?
To report bugs:
- Check existing issues on GitHub first
- Gather information:
- Tool version
- Operating system
- Android version (if applicable)
- Error messages or logs
- Steps to reproduce
- Submit an issue on GitHub with details
- Or email: [email protected]
Need More Help?
If your question isn’t answered here:- Review the Usage Guide
- Check the Troubleshooting section
- Contact the developer: [email protected]
- Submit an issue on GitHub
