Time to complete: 10-15 minutes (depending on backup size)
Prerequisites
Before starting, ensure:- ✅ Tool is installed and launches successfully
- ✅ Android device is connected via USB (PC mode) or Termux is running (Android mode)
- ✅ USB Debugging is enabled on the target device
- ✅ You have the 64-character decryption key (if backups are encrypted)
Step 1: Launch the Tool
Start the application using the launcher script:Step 2: Connect and Scan Device
Connect Your Android Device
Connect your Android device via USB cable. If prompted on your phone, select:
- File Transfer or MTP mode
- Allow USB Debugging (trust this computer)
The device will remember this computer. You only need to authorize once.
Scan for Devices
Select option 1 (Scan Connected Devices):The tool automatically selects the device if only one is connected.
Step 3: Dump Backups from Device
Select Backups to Dump
The tool displays all available backup files:Select option 1 to dump all backups (recommended for first use).
Choose Media Extraction
The tool asks if you want to include media files:
- Enter n for faster backup (databases only)
- Enter y to include all WhatsApp media (photos, videos, documents)
Media extraction can take 10-30 minutes depending on storage size. You can always extract media later.
Step 4: Decrypt a Backup
Now decrypt the extracted backup file:Select Decrypt Option
From the main menu, select option 3 (Decrypt Existing Backup):Choose the most recent backup (usually the first one).
Enter Decryption Key
If no saved key exists, the tool prompts for the 64-character hexadecimal key:
The key is saved in encrypted form to
~/.whatsapp-forensic-tool/keys.json (or AppData on Windows) for future use.Decryption Process Explained
The decryption engine (
crypto_manager.py:129-192) performs these steps:- Key Derivation: Derives AES key using HMAC-SHA256
- Offset Detection: Tries known offsets (67, 191, 8 bytes for IV)
- GCM Decryption: Uses AES-GCM with authentication
- Decompression: Applies zlib decompression to the decrypted data
- Validation: Verifies SQLite database header
Step 5: View Decrypted Database
Open Database Viewer
Select option 4 (View Decrypted Database) from the main menu:The tool automatically connects to the decrypted SQLite database.
Step 6: Export Chats
Export conversations to readable formats:Choose Export Scope
Select what to export:
- All Chats - Exports every conversation (can take several minutes)
- Single Chat - Export a specific conversation by name or number
Select Export Format
Choose output format:Format descriptions:
- HTML - Rich formatted view with clickable media links
- CSV - Spreadsheet-compatible (Excel, Google Sheets)
- JSON - Machine-readable structured data
- TXT - Plain text transcript
- All Formats - Exports to all four formats simultaneously
Example Output Files
Understanding the File Structure
After completing the workflow, your directory structure looks like this:Troubleshooting Common Issues
No devices found after scanning
No devices found after scanning
Solutions:
- Check USB cable is properly connected
- Verify USB Debugging is enabled: Settings → Developer Options → USB Debugging
- Try authorizing the computer again (tap “Allow” on device prompt)
- Run
adb devicesmanually fromadb/platform-tools/to check ADB connectivity
No backup files found
No backup files found
Possible causes:
- WhatsApp hasn’t created a backup yet
- Backups are stored in scoped storage (Android 11+)
- Device uses encrypted backups stored in cloud only
Decryption failed with correct key
Decryption failed with correct key
Reasons:
- Wrong key for this specific backup
- Corrupted backup file
- Unsupported crypt format
Database viewer shows empty chats
Database viewer shows empty chats
Reasons:
- Database schema version incompatibility
- Incomplete decryption
- WhatsApp database format changed
Media files not accessible in exports
Media files not accessible in exports
Solution: Dump media files in Step 3 by selecting “y” when prompted “Include Media?”. HTML exports use relative paths to
Media/ folders.Next Steps
Now that you’ve completed your first extraction, explore advanced features:Decrypt Multiple Backups
Process historical backups to view deleted messages or track conversation changes over time
Compare Backups
Use the JSON export format to diff backup files and identify deleted or modified messages
Termux Mode
Deploy to Android for direct device analysis without ADB limitations
Automation Scripts
Use the core modules programmatically to automate batch processing of multiple devices
Tips for Forensic Analysis
Best Practices:
- Preserve originals: Always keep the original encrypted backups unmodified
- Document everything: Note device serial, extraction date, and key source
- Hash verification: Use SHA256 checksums to verify file integrity
- Chain of custody: Maintain proper evidence handling procedures
- Export immediately: Export to multiple formats immediately after successful decryption
