TapDucky – Android USB HID Keystroke Injector
TapDucky – Android USB HID Keystroke Injector
Open-Source-DuckyScript-Ausführer für gerootetes Android mit USB-Gadget- (ConfigFS) Unterstützung
TapDucky ermöglicht es Dir, DuckyScripts zu erstellen, anzupassen, zu planen und auf Android auszuführen, indem es eine USB-Tastatur, -Maus oder ein zusammengesetztes HID-Gerät für autorisiertes Testen und Automatisierung emuliert. Es enthält Payload-Parametrisierung, mehrere Scheduler-Trigger, Ausführungsprotokolle und eine GitHub-gestützte Payload-Bibliothek mit automatischer DuckyScript-Validierung und optionaler Digispark .ino-Konvertierung.
Übersicht
- USB‑HID‑Gadget‑Profile (kein externer USB‑Dongle auf unterstützten/gerooteten Geräten erforderlich):
- Tastatur‑, Maus‑ und zusammengesetzte Profile mit konfigurierbarer VID/PID, Hersteller/Produkt-Strings und Leistungsaufnahme.
- DuckyScript‑Pipeline:
- Live‑Validierung mit lesbaren Problemen/Warnungen, Platzhalter-Parametern, Verzögerungsmultiplikator und optionalem Jitter für menschliches Timing.
- Payload‑Verwaltung:
- Erstellen/Bearbeiten von Payloads mit Name/Beschreibung/Tags/Parametern, Schnellfreigabe/Export und integrierten Vorlagen/Assistenten.
- GitHub‑Payload‑Store:
- Quellen hinzufügen, Repositories durchsuchen, Dateien mit Validierung in der Vorschau anzeigen, unterstützte Skripte importieren; erkennt automatisch DuckyScript und konvertiert Digispark
.ino-Skizzen, wenn möglich.
- Scheduler:
- Einmalig zu einem Datum/einer Uhrzeit, bei kaltem App‑Start, bei App‑Vordergrund oder wenn die HID‑Sitzung aktiv (device_connected) ist, mit optionalem täglichem Zeitfenster.
- Ausführung & Protokolle:
- Registerkartenansicht für die Ausführung, Parameterabfragen, Start/Abbruch, Ausführungsverlauf und strukturierte Protokolle mit Export/Löschen und Level‑Filter.
- Gerätediagnose:
- Schnappschuss von Gerät, Kernel/Gadget‑Status, UDC‑Informationen, Tastaturlayouts; in die Zwischenablage kopieren; Emulator-Erkennungshinweis.
Hinweis: Ein gerootetes Gerät mit Linux‑USB‑Gadget‑ (ConfigFS) Unterstützung ist erforderlich. Verwende ein physisches Gerät, da Emulatoren das HID‑Verhalten nicht validieren können.
Funktionen
Benutzerorientiert
- Dashboard mit Schnellstatuskarten, Payload‑/Bibliotheksstatistiken und Scheduler‑Zusammenfassung.
- Klare leere Zustände und Schritt‑für‑Schritt‑Assistenten für die Ersteinrichtung/Importe.
- Material 3‑Design, dynamische helle/dunkle Farbschemata.
Technisch/architektonisch
- Plattformkanäle (Android):
- Method Channel:
org.kaijinlab.tap_ducky/gadget
checkRoot, checkSupport, listUdcs, getStatus, getDiagnostics
getKeyboardLayouts, setKeyboardLayout, resolveKeyboardLayoutId, setKeyboardLayoutByCode
activateProfile, deactivate, panicStop, retryOpenHidWriters
executeDuckyScript(script, delayMultiplier, executionId?), cancelExecution(executionId)
- Testhilfen:
testKeyboardKey(label), testMouseMove(dx,dy,wheel,buttons), testCtrlAltDel()
- Event Channels:
org.kaijinlab.tap_ducky/gadget_logs
org.kaijinlab.tap_ducky/gadget_status
org.kaijinlab.tap_ducky/gadget_exec
- HID‑Profile‑Modell: Tastatur/Maus/zusammengesetzt mit VID/PID, Strings, Seriennummer, Leistung.
- DuckyScript:
- Parsing in Schritte; unterstützt DELAY/STRING/Keys/Raw‑Befehle; Platzhalterauflösung; Basis‑Tastendruckverzögerung; Jitter.
- Validator gibt Probleme mit Schweregrad und Zeilenzuordnung zurück; wird im Editor/Store/Ausführungsfluss verwendet.
- TRY/CATCH/END_TRY, WAIT_FOR, SLEEP_UNTIL, FUNCTION‑Argumente und bereichsbezogene Variablen.
- Unicode‑Fallback‑Modi (warn+skip / skip / ASCII‑Transliteration).
- Strukturierte Ausführungsfehlercodes im Ausführungs‑Stream.
- Planungsmaschine:
- Trigger (Kaltstart, Vordergrund, aktiv, einmalig), tägliche Zeitfensterregeln, Persistenz in SharedPreferences.
- Zustandsverwaltung: Riverpod 3, go_router Navigation, saubere Trennung von Repository/Diensten/Controllern.