Full Feature Breakdown

Androfus ships with six major hardware interface modules and several system utilities, all accessible from a single unified interface. Below is a complete technical overview of every capability.

Get all these features — completely free Get it on Google Play

USB-OTG Live Diagnostics

Androfus registers a UsbManager BroadcastReceiver for ACTION_USB_DEVICE_ATTACHED and ACTION_USB_DEVICE_DETACHED events and immediately enumerates all device descriptors through the Android USB Host API. The diagnostic panel exposes Vendor ID (VID), Product ID (PID), device class, subclass, protocol, manufacturer and product strings, serial number, power requirements in mA, USB speed (Full/High/SuperSpeed), and all interface and endpoint descriptors.

UsbManager USB Host API VID/PID Descriptor Enumeration JSON Export Broadcast Receiver

USB Serial UART Console

Built on top of a multi-driver USB serial library, the serial console supports the four most common USB-to-serial bridge chip families: FTDI (FT232R, FT231X), Silicon Labs CP210X, Qinheng CH340/CH341, and Prolific PL2303. CDC-ACM class devices (Arduino, Teensy, etc.) are also natively supported. The terminal implements full-duplex UART with configurable baud rate (300 to 4 000 000 bps), data bits (5–8), stop bits (1, 1.5, 2), parity (None / Even / Odd / Mark / Space), and flow control (None / RTS-CTS / XON-XOFF). Input/output can be toggled between UTF-8 text mode and raw hexadecimal view with address offset column, byte grouping, and direct hex injection from a custom input field.

FTDI FT232R CP210X CH340/CH341 PL2303 CDC-ACM UART Full-Duplex RTS/CTS Hex View

HID Keyboard & Mouse Emulator (USB + Bluetooth)

The HID emulator constructs raw HID report descriptors and injects them through either the Android USB Gadget/Accessory stack (for USB cable connections) or the Android Bluetooth HID Host Profile (Android 9.0+ required for Bluetooth). The target host sees a standard Boot-class HID device — no drivers needed on Windows, macOS, or Linux. The keyboard emulator supports N-Key Rollover (NKRO), all standard modifier keys, media keys, and function keys. The mouse emulator supports relative motion, absolute positioning, scroll wheel, and up to 5 buttons. The built-in automation engine parses a Ducky Script-compatible syntax with DELAY, STRING, ENTER, GUI, ALT, CTRL, SHIFT commands and configurable inter-keystroke delays.

HID Report Descriptor USB Gadget Bluetooth HID NKRO Ducky Script Boot-Class HID Android 9.0+

AndroVault Pro — AES-256 Encrypted Storage

AndroVault Pro creates secure local containers using AES-256-CBC encryption with PBKDF2-HMAC-SHA256 key derivation (64 000 iterations) and a 16-byte random salt per vault. Vault files (`.vault` format) are stored inside the application's sandboxed data directory (/data/user/0/com.eloygm.androfus/files/vault/), making them inaccessible to USB mass-storage access, external app enumeration, or file manager browsing without root. Vaults can be exported to SD card or internal storage for offline cold-storage backups. The master passphrase is never stored in plaintext and the derived key is discarded from memory immediately after the vault operation completes.

AES-256-CBC PBKDF2-HMAC-SHA256 Sandboxed Storage .vault Format Cold Storage Export

BadUSB Guard

The BadUSB Guard runs as an Android foreground service and monitors ACTION_USB_DEVICE_ATTACHED events. Upon attachment of any new device, it reads the USB device class. If the device advertises HID class (0x03) with a keyboard usage page (0x0001) without prior explicit user authorisation through the requestPermission flow, the service emits a high-priority notification, logs the event with full device descriptor data, and optionally suppresses HID input injection until the user explicitly reviews and approves the device. This is a direct defensive countermeasure against USB Rubber Ducky and similar HID-injection attack vectors.

HID Class 0x03 Foreground Service Rubber Ducky Defense USB Event Monitor Input Suppression

Thermal Monitor & Hardware Sensor Dashboard

Reads temperature values from Android's thermal zone API by parsing /sys/class/thermal/thermal_zone*/temp and type files for each detected zone (CPU clusters, GPU, battery, modem, skin sensors depending on SoC). Renders a live rolling line graph with configurable sampling interval (100 ms to 5 s), per-zone enable/disable toggle, and automatic alert when any zone exceeds a user-defined threshold. Useful for stress-testing OTG power delivery and confirming thermal throttling behaviour during heavy serial I/O sessions.

/sys/class/thermal Per-Zone Monitoring Live Graph Thermal Threshold Alert Export Log

Script Runner (Root Optional)

The Script Runner executes multi-line shell scripts using Android's ProcessBuilder API, optionally escalated through a su binary for root execution. Supports environment variable injection, working directory selection, standard output and standard error stream capture with timestamped log display, and script file import from storage. Includes a syntax-aware editor with line numbering. Root-required operations include filesystem mounts, kernel module loading, and direct sysfs write operations.

ProcessBuilder su / Root Optional sysfs Writes Shell Script STDOUT/STDERR Log

Ghost Mounter (Root Required)

Ghost Mounter bypasses Android's Storage Access Framework and mounts raw filesystem partitions (FAT32, exFAT, NTFS, ext4) from USB block devices directly into /mnt/media_rw/ using kernel mount syscalls through su. Once mounted, the volume is enumerable by any installed file manager, media scanner, or shell script without requiring Scoped Storage or MANAGE_EXTERNAL_STORAGE exemptions. Supports USB block devices exposed as /dev/block/sda1 and similar paths.

mount syscall FAT32 / NTFS / ext4 /mnt/media_rw Root Required Block Device

Ready to get started? Get it on Google Play

Still have questions? Check the FAQ.