The all-in-one Android hardware toolkit.
Turn your phone into a portable RF lab, network analyzer, and security auditor — 29 tools in one app.
Replaces Termux + a dozen single-purpose scanner apps with one native, offline, permission-scoped toolkit.
⬇️ Download · 🧰 Features · 📖 Full Tool Guide · 📸 Screenshots · ❓ FAQ · 🤝 Contributing
ZeroDroid exposes every radio, sensor, and port your phone has — WiFi, Bluetooth, BLE, NFC, IR, UWB, USB, GPS, cellular, magnetometer, barometer, microphone — through 29 specialized tools wrapped in a terminal-hacker UI.
| 🧰 29 tools | Across 5 categories: Wireless · RF & Signals · Sensors · Network · Security |
| 📡 Every radio | WiFi, BLE, Classic BT, NFC, IR, UWB, SDR, cellular, GPS |
| 🔋 Zero idle battery | No auto-start scanning, everything auto-stops, all services lazy-loaded |
| 🔒 Privacy-first | Runs 100% on-device · no account · permissions requested only when needed |
| 📱 Android 8.0+ | Min SDK 26, target SDK 36 · works best on Android 12+ |
| 🆓 Open source | MIT licensed · Kotlin · Jetpack Compose · Material 3 |
Built for penetration testers, security researchers, RF engineers — and anyone curious about the invisible wireless world around them.
![]() |
![]() |
![]() |
| 📊 Dashboard Device & hardware grid |
🧰 Toolkit 29 tools by category |
🧭 Navigation Terminal-styled drawer |
Your phone sits in a sea of invisible signals. Right now, within ~30 meters of you:
- 📷 Hidden cameras may be streaming over WiFi or BLE — invisible to you.
- 🏷️ AirTags / SmartTags could be tracking your location without your knowledge.
- 🎭 Rogue WiFi hotspots (evil twins) mimic real networks to steal credentials.
- 📶 IMSI catchers (Stingrays) force your phone to 2G to intercept calls & texts.
- 🔊 Ultrasonic beacons (18–24 kHz) track you across devices through your mic.
- 🚫 Deauth attacks kick you off WiFi — disguised as "bad signal".
- 🔌 BadUSB devices pretend to be keyboards to type malicious commands.
No single app detects all of these. Security pros carry a bag of separate gadgets; regular users have nothing. ZeroDroid puts them all in one place.
Every tool solves a specific, real problem. Full step-by-step docs live in the 📖 Complete Tool Guide →.
📡 Wireless
| Tool | What it does |
|---|---|
| WiFi Analyzer | Scans networks, finds channel congestion, flags weak security (OPEN/WEP/WPA) |
| BLE Scanner | Discovers BLE devices with full GATT explorer, distance estimates, JSON dumps |
| NFC Tools | Reads NDEF, dumps MIFARE Classic sectors, emulates tags via HCE |
| Bluetooth Classic | Discovery, SDP service listing, SPP serial connections |
| Wi-Fi Aware | NAN device-to-device discovery without a router |
| Wi-Fi Direct | Peer discovery, group formation, direct P2P file transfer |
📻 RF & Signals
| Tool | What it does |
|---|---|
| IR Remote | Pre-built Samsung/LG/Sony remotes, custom protocols, Flipper Zero .ir import |
| UWB Radar | FiRa compliance & capability check (ranging, AoA, ToF) |
| SDR Radio | Detects RTL-SDR, HackRF, AirSpy dongles via USB OTG |
| Ultrasonic Analyzer | FFT spectrum of 18–24 kHz to flag possible ultrasonic tracking beacons |
🎚️ Sensors
| Tool | What it does |
|---|---|
| Sensor Dashboard | Accelerometer, gyroscope, magnetometer, barometer, compass, level, metal detector |
| QR Scanner | Scans + analyzes codes for phishing URLs & suspicious TLDs before opening |
| USB Camera | UVC camera detection with resolution & capability listing |
| GPS Tracker | Live position, GNSS satellite list, raw NMEA log |
| EMF Mapper | Magnetometer field mapping with baseline deviation & hotspots |
🌐 Network
| Tool | What it does |
|---|---|
| USB Devices | Full USB inspection + BadUSB (HID + Mass Storage) detection |
| Cell Tower Analyzer | Monitors towers; flags possible IMSI catchers (indicators: LAC change, signal spike, 2G downgrade) |
| Wardriving | Background GPS+WiFi logging with WiGLE CSV export |
🛡️ Security
| Tool | What it does |
|---|---|
| Hidden Camera Detector | 5 methods: WiFi OUI, SSID, BLE, magnetometer, port scan |
| GPS Spoof Detector | 7 cross-validation checks (GPS vs cell/WiFi/barometer/accelerometer) |
| Tracker Scanner | Flags devices matching known AirTag, SmartTag, Tile, Chipolo, Pebblebee signatures |
| Rogue AP Detector | 6 algorithms: evil twin, SSID spoofing, karma, open impersonator |
| Network Scanner | Subnet-wide port scan, banner grabbing, vulnerability assessment |
| RF Bug Sweeper | BLE module + ultrasonic + magnetic anomaly sweep |
| Proximity Radar | Visual radar plotting devices by estimated distance & signal |
| Privacy Score | 16+ checks across WiFi, Bluetooth, device, network & physical security |
| Deauth Detector | Flags possible deauth floods, jamming, AP disappearance, channel hopping |
| Signal Logger | Continuous WiFi+BLE timeline with arrival/departure tracking |
| Alert Center | Unified, persisted feed of every threat raised by the other Security tools |
📦 Prebuilt APK releases are on the Releases page. To build from source:
Obtainium tracks ZeroDroid's GitHub Releases directly on your device and notifies you of new versions — no app store needed.
- Install Obtainium (F-Droid or its own GitHub Releases).
- Tap Add App and paste:
https://github.com/theabhishekchandra/ZeroDroid - Obtainium detects the GitHub source automatically and pulls the latest release APK.
- Enable auto-updates or check manually — Obtainium will flag when a new release is out.
- Android Studio Ladybug (2025.1+) or newer
- JDK 17+, Android SDK 36
- A physical Android device (many features need real hardware)
git clone https://github.com/theabhishekchandra/ZeroDroid.git
cd ZeroDroid
./gradlew assembleDebug
adb install -r app/build/outputs/apk/debug/app-debug.apk| Requirement | Minimum |
|---|---|
| Android version | 8.0 (API 26) |
| Target SDK | 36 |
| Recommended | Android 12+ for full BLE/WiFi features |
Planned improvements — ideas and PRs welcome!
- Signed APK releases + F-Droid distribution
- GitHub Actions CI (build + lint on every PR)
- Unified Alert Center — persisted, cross-tool threat feed (shipped instead of the originally-planned per-scan JSON/PDF export; export may still come later)
- Optional light theme
- Expanded SDR & tracker signature databases
- Localization / translations
- Unit test coverage for domain/util logic (109 tests) — instrumentation tests still open
Is ZeroDroid legal to use?
The app is legal. How you use it is your responsibility. Only scan, probe, or test networks and devices you own or have written permission to assess. See the Disclaimer and the in-app Ethical Use Agreement.
Does it require root?
No. ZeroDroid uses only standard Android APIs and runtime permissions — no root, no custom ROM.
Why does it ask for location permission?
Android requires location permission to return WiFi and Bluetooth scan results — it's a platform rule, not a data grab. Permissions are requested only when you open a feature that needs them.
Will every tool work on my phone?
No — tools depend on your hardware (IR blaster, UWB, barometer, etc. aren't on every device). The Dashboard shows exactly which capabilities your device has so you know what will work. See Hardware Compatibility.
Does it drain my battery?
No. Nothing scans until you tap start, every scanner auto-stops after a timeout, and all services are lazy-loaded. The home screen costs effectively zero battery. See Battery Optimization.
Is my data collected?
Everything runs on-device. There's no login and no account. Permissions are requested only when a specific feature needs them.
MVVM (Screen → @HiltViewModel → Domain → Hardware), Hilt DI, all services lazy-initialized, no auto-start scanning. Full design decisions and directory layout: 📖 Architecture Guide →
Zero idle battery: no auto-start scanning, 5Hz sensor polling, SCAN_MODE_LOW_POWER BLE, everything auto-stops and lazy-loads. Full before/after breakdown: 📖 Battery Optimization →
ZeroDroid requests permissions only when you open a feature that needs them — nothing at startup. Full permission-by-permission breakdown: 📖 Permissions →
Not all phones have all hardware. The Dashboard shows which capabilities your device has. Full hardware → feature matrix: 📖 Hardware Compatibility →
Architecture: MVVM (ViewModel + StateFlow + Compose) · Hilt DI · Room (auto-migration) · Dark Material 3 theme with JetBrains Mono
Full dependency versions
| Layer | Technology |
|---|---|
| Language | Kotlin 2.2.0 |
| UI Framework | Jetpack Compose (BOM 2026.06.01) |
| Design System | Material 3 (dark theme, JetBrains Mono, CutCornerShape) |
| Architecture | MVVM (ViewModel + StateFlow + Compose) |
| Navigation | Jetpack Navigation Compose 2.9.8 |
| DI | Hilt 2.60.1 |
| Database | Room 2.8.4 (5 entities, auto-migration) |
| Camera | CameraX 1.6.1 |
| Barcode | ML Kit Barcode 17.3.0 + ZXing 3.5.3 |
| Location | Play Services Location 21.4.0 |
| Ranging | Jetpack Core UWB 1.0.0 |
| Permissions | Accompanist Permissions |
| Build | Gradle 9.7.0, AGP 9.3.1 |
| Min / Target SDK | 26 (Android 8.0) / 37 |
ZeroDroid shows an Ethical Use Agreement on first launch that cannot be dismissed. Users must accept:
- ✅ Use only on networks and devices you own or are authorized to test
- ✅ Comply with all local laws on wireless scanning and network analysis
- 🚫 No unauthorized surveillance, tracking, or network attacks
- 🛡️ Report vulnerabilities responsibly through proper channels
Declining the agreement exits the app.
ZeroDroid uses a two-branch model — no one pushes directly to a protected branch, everything goes through a PR with CI passing.
| Branch | Purpose | Protection |
|---|---|---|
develop |
Default branch — all active work happens here | PR + passing build CI required · no force-push/delete |
main |
Stable/release branch — only updated from develop |
PR + passing build CI required, enforced for everyone including admins · linear history only (squash/rebase) · no force-push/delete |
Contributor flow:
git checkout develop
git pull
git checkout -b feature/my-tool develop
# ...make changes...
git push -u origin feature/my-tool
# open a PR into develop- New work branches off
developand PRs targetdevelop, notmain. mainonly moves forward via a PR fromdevelop(release cuts), never a direct push or a PR from a feature branch.- Every PR must pass the
buildCI check (lint, unit tests, debug assemble) before it can merge.
Contributions are welcome — bug reports, new tool ideas, hardware compatibility notes, and pull requests. See CONTRIBUTING.md for the full guide (dev setup, project conventions, adding a new tool, testing expectations). Short version:
- Fork the repo and create a feature branch off
develop:git checkout -b feature/my-tool develop - Follow the existing feature structure (
domain/→data/→ui/→viewmodel/) — keep Android UI imports out ofdomain/. - Match the code style: Kotlin, MVVM, StateFlow, Jetpack Compose, JetBrains Mono terminal aesthetic, Hilt for DI.
- Test on a physical device — most features depend on real hardware.
- Commit with a clear message and open a pull request into
developdescribing what changed and how you verified it.
When adding a new tool: register its screen in navigation/ZeroDroidScreen.kt, wire any new
service into the relevant core/di/*Module.kt, and document it in docs/TOOLS.md.
This project follows the Contributor Covenant.
- 🐛 Bugs & feature requests: open an issue
- 💡 Questions & ideas: start a discussion
- 🔒 Security disclosures: please report privately via SECURITY.md rather than in a public issue
If ZeroDroid is useful to you, consider starring the repo ⭐ — it helps others discover the project.
ZeroDroid is provided for educational purposes, authorized security research, and defensive use only.
The tools in this app inspect radios, sensors, and networks around you. Using them to access, monitor, disrupt, or attack networks, devices, or people without explicit authorization is illegal in most jurisdictions and is not the intended use of this software.
- You are solely responsible for how you use ZeroDroid and for complying with all applicable laws.
- Only scan, probe, or test networks and devices you own or have written permission to assess.
- Detection features (IMSI catchers, hidden cameras, trackers, rogue APs, etc.) are heuristics and may produce false positives or miss real threats — don't rely on them as your sole security measure.
- The author(s) and contributors accept no liability for misuse or for any damages arising from use of this software. It is provided "as is", without warranty of any kind.
By building, installing, or using ZeroDroid, you agree to these terms and to the in-app Ethical Use Agreement.
Licensed under the MIT License.
Built with ☕ and Kotlin · If you find ZeroDroid useful, drop a ⭐




