TapDucky - Iniettore di sequenze di tasti HID USB per Android
TapDucky - Iniettore di sequenze di tasti HID USB per Android
Eseguire script DuckyScript open-source per Android rooted con supporto USB Gadget (ConfigFS)
TapDucky ti permette di creare, personalizzare, programmare ed eseguire DuckyScript su Android emulando una tastiera USB, un mouse o un dispositivo HID composito per test autorizzati e automazione. Include parametrizzazione dei payload, molteplici trigger dello scheduler, log di esecuzione e una libreria di payload basata su GitHub con validazione automatica DuckyScript e conversione opzionale Digispark .ino.
Panoramica
- Profili gadget USB HID (nessun dongle USB esterno richiesto su dispositivi supportati/rooted):
- Profili Tastiera, Mouse e Composito con VID/PID configurabili, stringhe produttore/prodotto e consumo energetico.
- Pipeline DuckyScript:
- Validazione in tempo reale con problemi/avvisi leggibili, parametri segnaposto, moltiplicatore di ritardo e jitter opzionale per tempistiche umane.
- Gestione dei payload:
- Crea/modifica payload con nome/descrizione/tag/parametri, condivisione/esportazione rapida e modelli/guida integrati.
- Negozio di Payload GitHub:
- Aggiungi sorgenti, sfoglia repository, visualizza file con validazione, importa script supportati; rileva automaticamente DuckyScript e converte sketch Digispark
.ino quando possibile.
- Scheduler:
- Una tantum a data/ora, all'avvio a freddo dell'app, quando l'app è in primo piano o quando la sessione HID è armata (device_connected), con finestra temporale giornaliera opzionale.
- Esecuzione e Log:
- Visualizzazione esecuzione a schede, richieste parametri, esecuzione/annullamento, cronologia esecuzioni e log strutturati con esportazione/cancellazione e filtro per livello.
- Diagnostica del dispositivo:
- Istantanea del dispositivo, stato del kernel/gadget, informazioni UDC, layout tastiera; copia negli appunti; nota di rilevamento emulatore.
Nota: è richiesto un dispositivo rooted con supporto gadget USB Linux (ConfigFS). Utilizzare un dispositivo fisico poiché gli emulatori non possono validare il comportamento HID.
Funzionalità
Aspetto utente
- Dashboard con schede di stato rapide, statistiche payload/libreria e riepilogo scheduler.
- Stati vuoti chiari e guide passo-passo per la configurazione/importazione iniziale.
- Tema Material 3, schemi colore dinamici chiaro/scuro.
Tecnico/architetturale
- Canali piattaforma (Android):
- Canale metodo:
org.kaijinlab.tap_ducky/gadget
checkRoot, checkSupport, listUdcs, getStatus, getDiagnostics
getKeyboardLayouts, setKeyboardLayout, resolveKeyboardLayoutId, setKeyboardLayoutByCode
activateProfile, deactivate, panicStop, retryOpenHidWriters
executeDuckyScript(script, delayMultiplier, executionId?), cancelExecution(executionId)
- Helper di test:
testKeyboardKey(label), testMouseMove(dx,dy,wheel,buttons), testCtrlAltDel()
- Canali evento:
org.kaijinlab.tap_ducky/gadget_logs
org.kaijinlab.tap_ducky/gadget_status
org.kaijinlab.tap_ducky/gadget_exec
- Modello profili HID: tastiera/mouse/composito con VID/PID, stringhe, seriale, potenza.
- DuckyScript:
- Parsing in passi; supporta comandi DELAY/STRING/tasti/raw; risoluzione segnaposto; ritardo base tasto; jitter.
- Validatore restituisce problemi con gravità e mappatura righe; utilizzato nei flussi editor/negozio/esecuzione.
- TRY/CATCH/END_TRY, WAIT_FOR, SLEEP_UNTIL, argomenti FUNCTION e variabili con scope.
- Modalità fallback Unicode (warn+skip / skip / traslitterazione ASCII).
- Codici di errore di esecuzione strutturati nel flusso di esecuzione.
- Motore di scheduling:
- Trigger (avvio a freddo, primo piano, armato, una tantum), regole finestra temporale giornaliera, persistenza in SharedPreferences.
- Gestione stato: Riverpod 3, navigazione go_router, separazione pulita repository/servizi/controller.
Motore DuckyScript / Tastiera