
Transforma qualquer telefone com root no lendário USB Rubber Ducky. Injetor de Teclas por HID USB Android.
Executor de DuckyScript de código aberto para Android rooteado com suporte a USB Gadget (ConfigFS)
TapDucky permite criar, personalizar, agendar e executar DuckyScript no Android emulando um teclado USB, mouse ou dispositivo HID composto para testes autorizados e automação. Inclui parametrização de payload, múltiplos gatilhos de agendamento, logs de execução e uma biblioteca de payloads baseada no GitHub com validação automática de DuckyScript e conversão opcional para Digispark .ino.
.ino quando possível.Nota: É necessário um dispositivo rooteado com suporte a Linux USB gadget (ConfigFS). Use um dispositivo físico, pois emuladores não podem validar o comportamento HID.
Editor de Payloads e Parâmetros
Loja de Payloads GitHub
Executar e Testar
Agendador e Gatilhos
Perfis de Dispositivo e HID
Logs e Histórico
org.kaijinlab.tap_ducky/gadget
checkRoot, checkSupport, listUdcs, getStatus, getDiagnosticsgetKeyboardLayouts, setKeyboardLayout, resolveKeyboardLayoutId, setKeyboardLayoutByCodeactivateProfile, deactivate, panicStop, retryOpenHidWritersO TapDucky inclui um motor completo no estilo DuckyScript implementado nativamente no Android (Kotlin) com avaliação de expressões e fluxo de controle estruturado. Suporta teclado, mouse/ponteiro, temporização, variáveis/defines, funções e utilitários simples de aleatoriedade.
Famílias de comandos suportadas (alto nível):
Notas sobre comportamento:
Referência rápida de sintaxe Mouse/Pointer:
Matriz de capacidades (selecionada):
Nota: O validador exibe erros de sintaxe, comandos desconhecidos e erros de estrutura antes da execução. Consulte o Editor de Payloads para resultados de validação na interface com números de linha.
Destaques de temporização de execução:
Nota: Além dos aliases listados, o TapDucky aceita formas snake_case como down_arrow, up_arrow, left_arrow, right_arrow, page_up, page_down, print_screen, scroll_lock, num_lock, caps_lock, string_delay, default_delay, etc. Elas são normalizadas internamente.
Modificadores (variantes esquerda/direita suportadas onde indicado):
Teclas de sistema/navegação (aliases incluídos):
Teclas de função:
Teclas do numpad (aliases incluídos):
Teclas de mídia (aliases incluídos):
Atalhos alfanuméricos:
Instale o aplicativo:
Inicie e Configure:
owner/repo ou URL completa com branch/caminho).
Contribuições são bem-vindas! Se você quiser ajudar a melhorar o TapDucky:
Este projeto está licenciado sob a Licença GNU GPLv3. Consulte LICENSE.
Se você encontrar problemas ou tiver dúvidas, abra uma issue no repositório GitHub ou entre em contato com o mantenedor.
executeDuckyScript(script, delayMultiplier, executionId?), cancelExecution(executionId)testKeyboardKey(label), testMouseMove(dx,dy,wheel,buttons), testCtrlAltDel()org.kaijinlab.tap_ducky/gadget_logsorg.kaijinlab.tap_ducky/gadget_statusorg.kaijinlab.tap_ducky/gadget_exec| Grupo de recurso | Sub-recurso | Suportado | Notas |
|---|
| Texto/temporização | STRING / STRINGLN / STRING_DELAY | ✅ | Temporização por caractere para STRING_DELAY; atraso global via DEFAULTDELAY |
| Blocos de texto | Blocos STRING/STRINGLN | ✅ | Blocos multilinha terminados por END_STRING / END_STRINGLN |
| Temporização | DELAY, DEFAULTDELAY/DEFAULT_DELAY | ✅ | DEFAULT se aplica após cada etapa executável |
| Repetir | REPEAT N | ✅ | Duplica o comando anterior N vezes |
| Comentários | REM, REM_BLOCK/END_REM | ✅ | Não executável |
| Modificadores | Combinações GUI/WIN, CTRL, ALT, SHIFT | ✅ | Analisado como uma única etapa de combinação |
| Comandos de tecla | Nomes de tecla explícitos | ✅ | Todas as teclas/aliases listados em "Suporte a teclas explícitas e aliases" |
| Segurar/soltar | HOLD, RELEASE | ✅ | Rastreia conjunto segurado; emparelha com INJECT_MOD |
| Estado de tecla explícito | KEYDOWN, KEYUP | ✅ | Controle direto de pressionar/soltar para combinações e teclas seguradas |
| Modificadores injetados | INJECT_MOD | ✅ | Máscara de modificador persistente até ser limpa |
| Mouse/ponteiro | MOUSE/POINTER CLICK/HOLD/DRAG/MOVE/SCROLL | ✅ | Movimento relativo com contagens de repetição |
| Fluxo de controle | IF/ELSE IF/ELSE/END_IF | ✅ | Cadeias aninhadas suportadas |
| Laços | WHILE/END_WHILE | ✅ | Condição avaliada com motor de expressão |
| Funções | FUNCTION/END_FUNCTION, CALL/CALL_FUNCTION, RETURN | ✅ | Suporta argumentos; RETURN define $? |
| Variáveis | VAR $nome = expr | ✅ | Inteiros, 0..65535 armazenados; $? é código de saída; locais com escopo |
| Defines | DEFINE NOME valor | ✅ | Substituição de texto simples antes da análise |
| Tratamento de erros | TRY/CATCH/END_TRY | ✅ | Falhas recuperáveis sem abortar o script |
| Esperas | WAIT_FOR, SLEEP_UNTIL | ✅ | Prontidão do host/UDC/teclado + esperas temporizadas |
| Aleatório | Geradores RANDOM_* | ✅ | Minúscula/maiúscula/letra/número/especial/caractere |
| Modos de ataque | ATTACKMODE | ⚠️ | Analisado, mas nenhum manipulador de backend implementado ainda |
| App | O que faz |
|---|
| IR Blaster | Controla e testa a funcionalidade infravermelha para dispositivos compatíveis. |
| USBDevInfo | Inspeciona detalhes e comportamento de dispositivos USB para entender o que está conectado. |
| GadgetFS | Experimenta a funcionalidade USB gadget (próximo ao hardware, baixo nível). |
| TapDucky | Uma ferramenta de segurança/teste para fluxos controlados de injeção de teclas. |
| HIDWiggle | Um mexedor de mouse construído com funcionalidades USB gadget. |
| AKTune | Ajustador adaptativo do kernel Android para CPU/GPU/agendador/memória/E/S. |