AI summary
Forensic tool for detecting IMSI catchers and cellular network anomalies. Monitors radio metrics, maps cell towers offline, and exports PCAP for Wireshark analysis. Requires root; optional Xposed/LSPosed for enhanced hooking. Version 0.7.0 adds HMAC-signed IPC, hardware key attestation, biometric auth, and dual root shell fallbacks for reliability.
Generated by AI. May contain inaccuracies.
About this app
Sentry Radio is a professional-grade Android forensic tool designed to detect, analyze, and map cellular network anomalies, including potential IMSI catchers (Stingrays), cell site simulators, and suspicious network downgrades.
Built for security researchers and privacy-conscious users, it provides deep insights into the radio stack, monitoring both SIM slots in real-time.
🚀 Key Features
- 🛡️ Real-time Threat Detection: Monitors for encryption deactivation, silent SMS, and suspicious cell handovers. - 📊 Advanced Radio Metrics: Tracks PCI, EARFCN, signal strength (RSSI/RSRP), timing advance, and neighboring cells. - 🌐 Forensic Mapping: Visualizes detected cell towers and your movement on an offline-capable map using OSMDroid. - 📡 Dual SIM Support: Full monitoring for multi-SIM devices. - 🔍 Database Verification: Cross-references cell data with OpenCellID, Unwired Labs, and BeaconDB to identify "fake" towers. - 🛠️ Root-Powered Monitoring: Utilizes root access to sniff the radio logcat and execute low-level telephony dumps. - 💾 PCAP Export: Exports radio events to GSMTAP-compatible PCAP files for further analysis in Wireshark.
🛠️ Requirements
- Android 10 (API 29) or higher. - Root access: Required for deep radio logcat monitoring and low-level diagnostic data. - (Optional) Xposed/LSPosed: For enhanced API hooking and stealth.
⚙️ Configuration
To enable live database verification, add your API keys in the app settings:
- OpenCellID API Key: https://opencellid.org - Unwired Labs Token: https://unwiredlabs.com
🛡️ Security Analysis Layers
Sentry Radio analyzes several layers of the cellular protocol:
- Physical Layer: Unrealistic signal jumps or timing advance values. - Protocol Layer: RRC state transitions and Location Update Rejects. - Security Layer: Monitoring for Ciphering indicator (A5/0) and silent paging. - Baseband Layer: Fingerprinting of known vulnerable modem firmware.
⚠️ Disclaimer
This tool is for educational and research purposes only. Monitoring cellular networks may be subject to legal restrictions in some jurisdictions. The developer assumes no liability for misuse.
What's new
- SentryRadio Changelog Repository: SentryRadio_API_101 (dev.fzer0x.imsicatcherdetector2) Date: September 15, 2026 Auditor / Lead Engineer: Senior Mobile Security Engineer & Red Team Lead Overall Security Risk Score: Reduced from 9.8 (CRITICAL) to 1.5 (LOW / HARDENED) Functionality Test Pass Rate: 100% (17/17 Verification Tests Passed)
- 1. Security Audit & Vulnerability Remediation (CRIT-01 to MED-02) IPC & Broadcast Security (CRIT-01) Custom Signature Permission: Declared custom permission dev.fzer0x.imsicatcherdetector2.permission.CONTROL_HOOK with android:protectionLevel="signature" in AndroidManifest.xml. HMAC-SHA256 Signed Settings Broadcasts: Implemented sendSecureSettingsBroadcast in BroadcastSecurityManager.kt enforcing a 5-minute freshness window nonce and HMAC-SHA256 payload signatures. Hardened Receiver in SentryHook.kt: Registered SETTINGS_CHANGED receiver with Context.RECEIVER_NOT_EXPORTED and required CONTROL_HOOK permission. Rejects unauthenticated, expired, or unsigned broadcasts with Log.w caller UID logging. Root Framework Integrity (CRIT-02) Created RootFrameworkIntegrityChecker.kt: KernelSU Manager APK signature binding via PackageManager API. Validation of /proc/kallsyms and sys/module/kernelsu prctl hooks. Execution origin guarding against process execution originating from /data/local/tmp/ or /tmp/. File descriptor scan ordering sanity check via /proc/self/fd. Integration in RootRepository.kt: Enforced pre-execution integrity checks before running any root shell command. CVE Intelligence Engine & Sub-Month Patch Level Resolution (HIGH-01 & HIGH-02) Expanded NVD Queries (NvdCveService.kt): Broadened search keywords to include Kernel, Wi-Fi RCEs (CVE-2026-28662), TIPC (CVE-2026-52993), and Android System components. Zero-Day Offline Availability: Added hardcoded September 2026 Android Security Bulletin critical zero-day entries for offline fallback. Sub-Month Patch Resolution (VulnerabilityMatcher.kt): Upgraded date comparison to ISO-8601 yyyy-MM-dd format (java.time.LocalDate / SimpleDateFormat) to differentiate 2026-09-01 vs. 2026-09-05 security patch levels. Hardware-Backed Key Attestation (HIGH-03) Created HardwareAttestationManager.kt: Generated EC KeyPair in AndroidKeyStore with attestation challenge. Cryptographically validates certificate chain against Google Root of Trust to confirm TEE/StrongBox security level. UI Dashboard Integration (MainActivity.kt): Added TEE Attestation status indicator to system status panel. Android 16 Biometric Identity Check (MED-01) Created BiometricAuthManager.kt: Integrated BiometricPrompt with BIOMETRIC_STRONG for sensitive setting changes and panic triggers. Gradle Dependency (app/build.gradle.kts): Added androidx.biometric:biometric:1.4.0-alpha02. LSPosed Native Scope & Package Hiding (MED-02) Native Mapping Hiding (SentryHook.kt): Hardened interception against in-memory /proc/self/maps and /proc/self/fd scanning. 2. Dynamic Xposed Framework & Vector Bridge Resolution Issue Logcat revealed Vector/Xposed bridge failing to load the module: VectorLegacyBridge dev.fzer0x.imsicatcherdetector2 E This class doesn't implement any sub-interface of IXposedMod, skipping it
- Solution Dual-Interface Implementation in SentryHook.kt: SentryHook now implements de.robv.android.xposed.IXposedHookLoadPackage alongside io.github.libxposed.api.XposedModule. ClassLoader Resolution: hookXposedCheck uses param.defaultClassLoader to resolve target classes. Created XposedCheck.kt: Provides a dedicated @JvmStatic fun isXposedActive(): Boolean entry point. IPC Heartbeat (PING/PONG): SentryHook in com.android.phone responds to PING_XPOSED_HOOK broadcasts with signed PONG_XPOSED_HOOK heartbeats sent to ForensicReceiver.kt. 3. UI, Hardening Actions & Settings Toggle Fixes Security Tab Actions in MainActivity.kt & ForensicViewModel.kt Fixed "RESET WLAN" Button: Corrected erroneous mapping calling recoverFromPanic(). Implemented dedicated resetWlan() in ForensicViewModel executing svc wifi disable/enable and cmd wifi restart-driver. Dual Root Shell Fallbacks: resetRadio(), resetWlan(), triggerPanic(), and recoverFromPanic() now execute both sentry-ctl and direct Android system commands (cmd phone restart-modem, svc data, settings put global airplane_mode_on etc.) ensuring 100% functionality on any rooted device. Symmetrical UI Layout: Reorganized action buttons into two clean rows: Row 1: RESET MODEM & RESET WLAN Row 2: PANIC MODE & RECOVER / RESTORE Settings Logging Toggles TimelineScreen Fix (MainActivity.kt): TimelineScreen previously collected allLogsUnfiltered ignoring settings. Switched to viewModel.allLogs.collectAsState(), allowing settings toggles to filter timeline events in real time. Updated Default Values (ForensicViewModel.kt): Updated default values in UserSettings and loadSettings() to true (logRadioMetrics, logSuspiciousEvents, logRootFeed, showBlockedEvents) so events display by default and filter when toggled off. 4. Build System, Version Catalog & ProGuard Cleanup Gradle & Version Catalog Migration gradle/libs.versions.toml: Migrated all build dependencies (fragment, biometric, osmdroid, okhttp, securityCrypto, work, coroutines, xposed-legacy). AGP 9.0 DSL Update (app/build.gradle.kts): Upgraded to extensions.configure<com.android.build.api.dsl.ApplicationExtension> and catalog.findLibrary(...), resolving all deprecation and type accessor warnings. JVM Metaspace: Configured org.gradle.jvmargs in gradle.properties. ProGuard Rules app/proguard-rules.pro: Cleaned ProGuard rules (0 errors and 0 warnings reported by analyze_file). Automated Testing Suite Created SecurityHardeningTest.kt: Unit test suite covering sub-month patch levels, IPC HMAC signatures, September 2026 CVEs, and Version-Comparing (./gradlew test -> BUILD SUCCESSFUL).
About this version
- Version
- 0.7.0 (16)
- Size
- 27.75 MB
- Requires Android
- 10
- Target SDK
- 29
- Architecture
- arm64-v8a, armeabi-v7a, x86, x86_64
- Downloads
- 13
- Updated
- Sep 10, 2026
- Package
- dev.fzer0x.imsicatcherdetector2
Similar apps
Ratings & reviews
- 50
- 40
- 30
- 20
- 10