No description
Find a file
2026-05-28 07:22:41 +00:00
BLEDroid.apk Add files via upload 2026-02-26 20:36:45 +01:00
LICENSE Initial commit 2026-02-26 20:26:52 +01:00
README.md Actualiser README.md 2026-05-28 07:22:41 +00:00

⚠️ FOR EDUCATIONAL AND AUTHORIZED SECURITY TESTING ONLY ⚠️

🎯 About The Project

BLEDroid is a powerful Android application designed for network security to evaluate Bluetooth environment resilience through controlled, high-frequency scan cycles. Built with Kotlin and leveraging Android's official BluetoothLeScanner and BluetoothAdapter APIs, this tool stress-tests Bluetooth infrastructure to identify potential vulnerabilities — no root required.

Similar project of WifiDroid, sharing the same Tailwind-inspired dark UI, MVVM architecture, coroutine-based engine, and legal safeguards — now in deep blue.

🔑 Key Differentiators

Feature Details
No Root Required Operates entirely within Android's security framework
Three Scan Modes BLE only / Classic only / Dual (simultaneous)
🔵 BLE + Classic Covers both BluetoothLeScanner and BluetoothAdapter.startDiscovery()
🎯 Smart BLE Filters Filter by ALL devices, device name prefix, or MAC address
🛡️ Permission Safe Runtime permission checks + SecurityException handling on every call
📊 Live Analytics Cycles, devices found, unique devices, cycles/s, failures
🎨 Tailwind Blue Dark Theme Material Design 3 with Tailwind CSS blue/slate palette
🔒 Privacy Focused Zero data collection, no external connections

Features

Core Functionality

  • 🔄 Automated Stress Testing — Configurable iteration counts (11000+)
  • ⏱️ Adjustable Scan Window — 100ms to 5000ms per cycle
  • 📈 Real-time Monitoring — Live progress bar, cycles/s, elapsed time
  • 📝 Colored Terminal Log — Timestamped entries with color-coded levels (success/error/warning/debug)
  • 🎯 BLE Device Filtering — ALL / By name prefix / By MAC address
  • 🚀 Coroutine Architecture — Non-blocking engine with Dispatchers.IO + StateFlow / SharedFlow

📡 Scan Modes

Mode API Used Best For
🔵 BLE Only BluetoothLeScanner.startScan() IoT devices, wearables, beacons
🟣 Classic Only BluetoothAdapter.startDiscovery() Phones, headsets, speakers
🔀 Dual Both simultaneously Full environment coverage

📊 Live Metrics

  • Total scan cycles completed
  • Total devices found (cumulative)
  • Unique devices discovered (by MAC address)
  • Scan cycles per second (real-time)
  • Total elapsed time
  • Failure count with error categorization

🛡️ Safety Mechanisms

  • Emergency stop button (mid-test abort)
  • Permission validation before every scan call
  • Graceful SecurityException handling — no crashes on permission loss
  • Auto-abort if permission revoked mid-test

🎨 User Interface

  • Tailwind CSS blue dark theme
  • Material Design 3 components (Cards, TextInput, SeekBar, ProgressBar)
  • Scan Mode + BLE Filter spinners
  • Filter value input for name/MAC filtering
  • Configurable iterations (11000) and scan window (100ms5s)
  • Scrollable colored terminal-style activity log
  • Live 2×3 metrics grid

Permissions Required

Permission API Level Purpose
BLUETOOTH ≤ API 30 Basic Bluetooth access
BLUETOOTH_ADMIN ≤ API 30 Start/stop discovery
ACCESS_FINE_LOCATION ≤ API 30 Required for BLE scanning
BLUETOOTH_SCAN API 31+ BLE and Classic scanning
BLUETOOTH_CONNECT API 31+ Read device name/address
BLUETOOTH_ADVERTISE API 31+ Future advertising support