Prerequisites
The tool is designed for zero-configuration installation, but ensure you meet these minimal requirements:
Python 3.8+ The launcher scripts will attempt to install Python automatically if missing
USB Debugging Must be enabled on the target Android device (Settings → Developer Options → USB Debugging)
Git Required to clone the repository (or download as ZIP)
Internet Connection Needed for initial setup to download dependencies and ADB tools
The launcher scripts (start.bat and start.sh) handle all dependency installation automatically. No manual configuration is required.
Windows
Linux
macOS
Android (Termux)
Windows Installation
Clone the Repository
Open Command Prompt or PowerShell and clone the repository: git clone https://github.com/cedroid/whatsapp-forensic-tool.git
cd whatsapp-forensic-tool
Run the Launcher
Double-click start.bat or run it from the command line: The launcher will automatically:
Check for Python installation (opens download page if missing)
Create a virtual environment in venv/
Install all Python dependencies from requirements.txt
Download ADB platform tools for Windows
Launch the application
Verify Installation
If successful, you’ll see the main menu: ===========================================
WhatsApp Backup Forensic Tool Launcher
===========================================
[*] Activating virtual environment...
[*] Checking dependencies...
[*] Starting Application...
Main Menu
1. Scan Connected Devices
2. Dump Backups from Device
3. Decrypt Existing Backup
4. View Decrypted Database
5. Export Chats
6. Deploy to Termux (Downloads)
7. Exit
Linux Installation
Clone the Repository
Open a terminal and clone the repository: git clone https://github.com/cedroid/whatsapp-forensic-tool.git
cd whatsapp-forensic-tool
Run the Launcher
Execute the launcher script: The launcher will automatically:
Check for Python 3 installation
Attempt to install Python 3 via apt-get if missing (requires sudo)
Create a virtual environment in venv/
Install all Python dependencies
Download ADB platform tools for Linux
Launch the application
Grant Permissions (if needed)
If you encounter permission issues with ADB, add your user to the plugdev group: sudo usermod -aG plugdev $USER
sudo udevadm control --reload-rules
Log out and log back in for the changes to take effect. On first run, the script may prompt for sudo password to install Python 3 via apt-get update && apt-get install -y python3 python3-venv python3-pip.
macOS Installation
Install Homebrew (if not installed)
Homebrew is recommended for managing Python on macOS: /bin/bash -c "$( curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Clone the Repository
Open Terminal and clone the repository: git clone https://github.com/cedroid/whatsapp-forensic-tool.git
cd whatsapp-forensic-tool
Run the Launcher
Execute the launcher script: The launcher will:
Check for Python 3 installation
Prompt you to install Python 3 via Homebrew if missing
Create a virtual environment
Install dependencies
Download ADB platform tools for macOS
Launch the application
If Python 3 is not found, install it manually with: brew install python3
Android (Termux) Installation Running directly on Android provides access to internal storage without requiring root access.
Install Termux
Install Termux from F-Droid (recommended) or GitHub releases: Do not use the Google Play Store version as it’s outdated and unsupported.
Deploy from PC (Recommended)
The easiest method is to deploy from your PC:
Connect your phone to PC via USB
Enable USB debugging on your phone
Run the tool on PC and select “Deploy to Termux (Downloads)” (option 6)
The tool will copy all files to /sdcard/Download/whatsapp-forensic-tool
Setup in Termux
Open the Termux app on your phone and run: # Copy from Downloads to Termux home
cp -r /sdcard/Download/whatsapp-forensic-tool $HOME
cd $HOME /whatsapp-forensic-tool
# Run the launcher
bash start.sh
The script will:
Detect Termux environment automatically
Setup storage access permissions (follow prompts)
Install Python if missing via pkg install python
Install dependencies
Launch the application
Grant Storage Permissions
When prompted, grant storage permissions to Termux. This allows access to WhatsApp backup files in internal storage. # If not prompted automatically, run:
termux-setup-storage
Running on Termux provides direct access to /storage/emulated/0/ directories where WhatsApp stores backups, bypassing ADB limitations.
Understanding the Launcher Scripts
Windows Launcher (start.bat)
The Windows launcher performs these operations:
# Check Python installation
python --version > nul 2 >& 1
# Create virtual environment if not exists
if not exist "venv" (
python -m venv venv
)
# Activate virtual environment
call venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
# Run application
python main.py
Linux/macOS Launcher (start.sh)
The Unix launcher includes automatic Python installation:
# Check for Python 3
if ! command -v python3 & > /dev/null; then
# Linux: Install via apt
sudo apt-get update && sudo apt-get install -y python3 python3-venv python3-pip
# macOS: Prompt for Homebrew installation
# brew install python3
fi
# Create and activate virtual environment
python3 -m venv venv
source venv/bin/activate
# Install dependencies and run
pip install -r requirements.txt
python main.py
Termux Launcher (same start.sh)
The script detects Termux automatically:
# Detect Termux environment
if [[ -n " $PREFIX " && " $PREFIX " == * "com.termux" * ]]; then
# Setup storage access
termux-setup-storage
# Install Python via Termux packages
pkg update -y && pkg install -y python
# Install dependencies directly (no venv in Termux)
pip install -r requirements.txt
python main.py
fi
Automatic Dependency Installation
The tool automatically installs these Python packages:
Package Purpose pycryptodome AES-GCM encryption/decryption requests Download ADB platform tools rich Terminal UI with colors and progress bars tqdm Progress bars for file operations thefuzz Fuzzy search for chat filtering
All dependencies are installed in an isolated virtual environment (except on Termux) to avoid conflicts with system packages.
ADB Setup (PC Only)
On PC platforms, the tool automatically downloads ADB platform tools:
Device Manager - ADB Download
ADB URLs by Platform
# From device_manager.py:53-66
def download_adb ( self ):
url = self . ADB_URLS .get( self .os_type)
if not url: return
print_info( f "Downloading ADB for { self .os_type } ..." )
try :
response = requests.get(url, stream = True )
with zipfile.ZipFile(io.BytesIO(response.content)) as z:
z.extractall( self .adb_dir)
self .adb_executable = self ._get_adb_path()
if self .os_type != 'windows' and self .adb_executable:
os.chmod( self .adb_executable, 0o 755 )
print_success( "ADB setup complete." )
except Exception as e:
print_error( f "Failed to download ADB: { e } " )
ADB is downloaded to ./adb/platform-tools/ in the project directory and does not require system installation.
Verify Installation
To confirm successful installation, check for these indicators:
Application Launches
The main menu should display with all 7 options (PC) or 6 options (Termux).
Status Bar Visible
At the top of the screen, you should see:
Mode: ADB or Termux
ADB: Installed or N/A (Local)
Device: None (will update after scanning)
Key: None (will update after decryption)
Virtual Environment Active
Check that dependencies are isolated: # Windows
where python
# Should show: .\venv\Scripts\python.exe
# Linux/macOS
which python
# Should show: ./venv/bin/python
Troubleshooting
Python not found on Windows
Permission denied on Linux/macOS
Make the launcher executable: chmod +x start.sh
bash start.sh
Termux storage access denied
Run termux-setup-storage manually and grant permissions when prompted. Restart Termux after granting permissions.
Delete the virtual environment and reinstall: # Windows
rmdir /s venv
start.bat
# Linux/macOS
rm -rf venv
bash start.sh
Next Steps
Now that the tool is installed, proceed to the Quick Start guide:
Quick Start Tutorial Learn how to perform your first backup extraction and decryption