Author: Abdul Salam | Portfolio: Salamcs.app Contact: LinkedIn: Abdul Salam | GitHub: abdulsalam401
โ ๏ธ For authorized security testing and educational purposes only.
Axiom (formerly PhantomDroid) is a comprehensive Android security assessment framework for ethical hackers and professional penetration testers. It combines static APK analysis, dynamic runtime analysis, network scanning, vulnerability assessment, exploit assistance, payload generation, and real-time GUI remote control with screen mirroring.
| Feature | Description |
|---|---|
| ๐ฅ๏ธ GUI Remote Control | Real-time screen mirroring with mouse/keyboard control |
| ๐ก Wireless ADB | One-click setup for wireless device control |
| ๐ฎ Interactive Remote | Full touch/swipe/keyboard control from terminal |
| ๐ WSL USB Support | Forward USB devices from Windows to WSL Ubuntu |
| ๐ธ Screen Streaming | ASCII art or GUI-based live screen streaming |
| Module | Description |
|---|---|
| ๐ฑ Device Manager | List devices, device info, ADB WiFi, screenshot, logcat, file transfer |
| ๐ APK Analyzer | Static decomposition: permissions, secrets, exported components, CVEs |
| ๐ Network Scanner | Port scan, WiFi info, subnet discovery, MitM guide |
| ๐จ Vulnerability Scanner | CVE mapping, root detection, insecure storage, WebView, task hijacking |
| ๐ฅ Exploit Engine | Activity launch, broadcast trigger, content provider dump, deep link fuzzer, shell dropper |
| ๐ฏ Payload Generator | msfvenom APK, reverse shell one-liners, ADB exploit scripts, obfuscation |
| ๐ Report Generator | Dark-themed HTML report + JSON + CLI table with remediation advice |
| ๐ฎ Remote Control | Wireless device control with screen mirroring (Terminal + GUI) |
Axiom includes cross-platform launcher scripts that automatically handle Python virtual environment creation, pip updates, dependency installations, and UTF-8 encoding support:
# 1. Clone the repository
git clone https://github.com/abdulsalam401/Axiom.git
cd Axiom
# 2. Make the launcher executable
chmod +x axiom.sh
# 3. Run Axiom (dependencies install automatically on first run)
./axiom.sh# 1. Clone the repository
git clone https://github.com/abdulsalam401/Axiom.git
cd Axiom
# 2. Run Axiom (dependencies install automatically on first run)
.\axiom.ps1Note
Any command-line arguments are automatically forwarded to the underlying Python app (e.g. ./axiom.sh --help or .\axiom.ps1 --devices).
If you prefer to set up the virtual environment manually, follow these steps:
git clone https://github.com/abdulsalam401/Axiom.git
cd Axiompython3 -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activatepip install -r requirements.txtLinux (Native):
sudo apt install adbWindows (for WSL users):
- Download Platform Tools from: Android Developers
- Extract to
C:\platform-tools - Add
C:\platform-toolsto System PATH
macOS:
brew install android-platform-tools# For GUI Remote Control
pip install Pillow numpy
# For WSL Ubuntu users
sudo apt install python3-tkIf you're using WSL Ubuntu on Windows, you need to forward USB devices:
# In WSL Ubuntu terminal, just use adb.exe
adb.exe devices
# Or create an alias
echo 'alias adb="adb.exe"' >> ~/.bashrc
source ~/.bashrcWindows PowerShell (as Administrator):
winget install --id=dorssel.usbipd-win
# List USB devices
usbipd list
# Bind your Android device (replace BUSID with yours)
usbipd bind --busid 1-2
# Attach to WSL
usbipd attach --wsl --busid 1-2WSL Ubuntu:
sudo chmod -R 777 /dev/bus/usb
adb devices- Go to Settings โ About Phone โ Software Information.
- Tap Build Number 7 times.
- Go back to Settings โ Developer Options.
- Enable USB Debugging.
- Connect your phone via USB.
# With USB connected
python3 axiom.py --remote-setup
# Follow the prompts:
# 1. USB detected โ
# 2. ADB over WiFi enabled
# 3. Disconnect USB when prompted
# 4. Press Enter to connect wirelessly# After initial setup
python3 axiom.py --remote-connect --remote-ip 192.168.x.xpython3 axiom.pyMain menu options:
1 ๐ฑ Device Manager 7 ๐ Report Generator 13 ๐ File Transfer
2 ๐ APK Static Analyzer 8 ๐ก ADB WiFi Connect 14 ๐ป Interactive ADB Shell
3 ๐ Network Scanner 9 ๐ธ Screenshot Capture 15 โน๏ธ About
4 ๐จ Vulnerability Scanner 10 ๐ฆ Package Manager 16 ๐ฎ Remote Control
5 ๐ฅ Exploit Engine 11 ๐ Logcat Analyzer 17 ๐ฅ๏ธ GUI Remote Control
6 ๐ฏ Payload Generator 12 ๐ SSL Pinning Check 0 ๐ช Exit
# List connected devices
python3 axiom.py --devices
# Full device info
python3 axiom.py --device RZ8R50TKP3A --info
# Analyze APK
python3 axiom.py --apk target.apk --report html --target-name "MyApp"
# Full vulnerability scan
python3 axiom.py --device 192.168.10.3:5555 --vuln-scan --pkg com.example.app
# Port scan
python3 axiom.py --device 192.168.10.3:5555 --port-scan
# Capture screenshot
python3 axiom.py --device 192.168.10.3:5555 --screenshot# Auto-detect connected device and start remote control menu (Recommended)
python3 axiom.py --remote
# or
python3 axiom.py -r
# Auto-detect connected device and take a screenshot
python3 axiom.py --screenshot
# or
python3 axiom.py -s
# One-time wireless setup (USB required first)
python3 axiom.py --remote-setup
# Interactive remote control (terminal) with manual IP
python3 axiom.py --remote-control --remote-ip 192.168.10.3
# GUI remote control with screen mirroring and manual IP
python3 axiom.py --gui-remote --remote-ip 192.168.10.3
# Stream screen as ASCII art
python3 axiom.py --remote-stream --remote-ip 192.168.10.3 --refresh 0.5
# Send touch event
python3 axiom.py --remote-tap 540 960 --remote-ip 192.168.10.3
# Send text
python3 axiom.py --remote-text "Hello World" --remote-ip 192.168.10.3
# Send key event
python3 axiom.py --remote-key home --remote-ip 192.168.10.3When you run --gui-remote, a graphical window opens with:
| Feature | Description |
|---|---|
| Real-time Screen | Live mirror of your phone display (~20-30 FPS) |
| Mouse Click | Click anywhere to tap on phone |
| Mouse Drag | Drag to swipe on phone |
| Keyboard Input | Type directly to phone |
| Navigation Buttons | Home, Back, Recent apps |
| Screenshot | One-click capture |
| FPS Counter | Monitor performance |
| Refresh Rate | Adjustable slider (0.3-3.0 sec) |
| Key | Action |
|---|---|
| Home | Home button |
| Backspace | Back button |
| Enter | Enter/OK |
| Arrow Keys | D-pad navigation |
| + / - | Volume up/down |
| Any text | Types on phone |
- Permission audit โ flags 30+ dangerous Android permissions by severity (CRITICAL โ LOW)
- Hardcoded secrets โ scans for API keys, passwords, AWS keys, Firebase configs
- Exported components โ activities, services, receivers, providers
- File hashes โ MD5, SHA1, SHA256
- Obfuscation detection, native libraries, embedded URLs & IPs
- Vulnerability heuristics โ debuggable flag, backup enabled, no network security config
- CVE Mapping โ 30+ CVEs mapped to Android SDK levels (Stagefright, BlueBorne, StrandHogg, BlueFrag)
- Root detection โ su binary, Magisk, SuperSU, debuggable build
- Frida detection โ checks running processes for Frida server
- Insecure data storage โ SharedPreferences, SQLite, world-readable files
- WebView checks โ JS enabled, file:// access
- Task hijacking โ StrandHogg-style taskAffinity check
| Module | Description |
|---|---|
| Activity Launch | Launch exported activities without permission |
| Broadcast Trigger | Send malicious broadcast intents |
| Content Provider | Dump arbitrary content provider data |
| Deep Link Fuzzer | Fuzz 20+ deep link paths for unprotected endpoints |
| Frida Injection | Step-by-step Frida/objection injection guide |
| Reverse Shell Drop | Push & execute busybox/nc reverse shell via ADB |
| DB Extractor | Pull SQLite databases from app data directory |
| Lock Bypass | PIN brute force via ADB keyevents |
| Type | Description |
|---|---|
reverse_tcp |
msfvenom Android Meterpreter reverse TCP APK |
reverse_https |
msfvenom HTTPS reverse shell APK |
reverse-shells |
6 reverse shell one-liners (nc, bash, python3, perl, socat) |
adb-script |
Full ADB exploitation shell script |
obfuscate |
Base64 or hex payload obfuscation |
| Mode | Description |
|---|---|
| Terminal (ASCII) | Screen stream as ASCII art in terminal |
| GUI (Real-time) | Graphical window with mouse/keyboard control |
| Interactive | Command-based control (tap, swipe, text, keys) |
| Screenshot | Single frame capture |
Axiom generates:
- HTML Report โ dark glassmorphism theme, severity badges, finding cards with CVE links and remediation advice
- JSON Report โ structured machine-readable output
- CLI Table โ quick terminal summary sorted by severity (CRITICAL โ LOW)
rich>=13.0.0
requests>=2.31.0
colorama>=0.4.6
Pillow>=10.0.0
numpy>=1.24.0
| Requirement | Purpose | Installation |
|---|---|---|
| Python 3.8+ | Runtime | python3 --version |
| ADB | Device communication | sudo apt install adb |
| (Optional) Metasploit | APK payload generation | Install Guide |
| (Optional) Frida | Runtime instrumentation | pip install frida-tools |
| (Optional) mitmproxy | Traffic interception | pip install mitmproxy |
| (Optional) tkinter | GUI remote control | sudo apt install python3-tk |
# Use Windows ADB from WSL
adb.exe devices
# Or add to PATH
export PATH=$PATH:/mnt/c/Windows/System32# Re-enable TCP mode
adb tcpip 5555
adb connect <DEVICE_IP>:5555# Install missing dependencies
pip install Pillow numpy
sudo apt install python3-tk# The ASCII stream works but may look distorted
# For better quality, use GUI mode:
python3 axiom.py --gui-remote --remote-ip <IP>- ADB over WiFi exposes port 5555 โ only use on trusted networks
- Disable wireless ADB when not in use:
adb disconnect - The tool is for authorized testing only
- Always get written permission before testing any system
Axiom/
โโโ axiom.py # Main entry point
โโโ modules/
โ โโโ adb_manager.py # ADB operations
โ โโโ apk_analyzer.py # APK static analysis
โ โโโ network_scanner.py # Network scanning
โ โโโ vulnerability_scanner.py # Vulnerability checks
โ โโโ exploit_engine.py # Exploitation modules
โ โโโ payload_generator.py # Payload generation
โ โโโ report_generator.py # Report generation
โ โโโ remote_controller.py # Remote control (terminal)
โ โโโ gui_remote.py # GUI remote control
โโโ requirements.txt # Python dependencies
โโโ LICENSE.txt # MIT License
โโโ README.md # This file
Axiom is intended exclusively for authorized security assessments, CTF competitions, and educational research.
Unauthorized use of this tool against systems you do not own or have explicit written permission to test is illegal under the Computer Fraud and Abuse Act (CFAA), Computer Misuse Act, and equivalent laws in most jurisdictions.
The author Abdul Salam and contributors assume no liability for any misuse or damage caused by this tool.