
ルート化された任意のAndroid端末を伝説のUSB Rubber Duckyに変える。Android USB HID Keystroke Injector
ルート化された Android 向けのオープンソース DuckyScript ランナー。USB Gadget (ConfigFS) をサポート
TapDucky を使用すると、USB キーボード、マウス、またはコンポジット HID デバイスをエミュレートして、承認されたテストと自動化のために Android 上で DuckyScript を作成、カスタマイズ、スケジュール、実行できます。ペイロードのパラメータ化、複数のスケジューラートリガー、実行ログ、自動 DuckyScript 検証とオプションの Digispark .ino 変換を備えた GitHub 連携ペイロードライブラリが含まれます。
.ino スケッチを変換。注: Linux USB gadget (ConfigFS) をサポートするルート化デバイスが必要です。エミュレーターは HID の動作を検証できないため、実機を使用してください。
ペイロードエディターとパラメータ
GitHub ペイロードストア
実行とテスト
スケジューラーとトリガー
デバイスと HID プロファイル
ログと履歴
org.kaijinlab.tap_ducky/gadget
checkRoot, checkSupport, listUdcs, getStatus, getDiagnosticsgetKeyboardLayouts, setKeyboardLayout, resolveKeyboardLayoutId, setKeyboardLayoutByCodeactivateProfile, deactivate, panicStop, retryOpenHidWritersTapDucky には、Android (Kotlin) でネイティブに実装された完全な DuckyScript スタイルのエンジンが含まれており、式の評価と構造化された制御フローをサポートします。キーボード、マウス/ポインター、タイミング、変数/定義、関数、シンプルな乱数ユーティリティに対応しています。
対応コマンドファミリー(概要):
動作に関する注意事項:
マウス/ポインター構文のクイックリファレンス:
機能マトリックス(抜粋):
注: バリデーターは、実行前に構文の問題、未知のコマンド、構造エラーを表示します。行番号付きの UI 内検証結果については、ペイロードエディターを参照してください。
実行タイミングのハイライト:
注: 記載されているエイリアスに加えて、TapDucky は down_arrow、up_arrow、left_arrow、right_arrow、page_up、page_down、print_screen、scroll_lock、num_lock、caps_lock、string_delay、default_delay などのスネークケース形式も受け付けます。これらは内部的に正規化されます。
修飾キー(記載がある場合は左右のバリアントをサポート):
システム/ナビゲーションキー(エイリアスを含む):
ファンクションキー:
テンキー(エイリアスを含む):
メディアキー(エイリアスを含む):
英数字ショートカット:
アプリケーションをインストール:
起動と設定:
owner/repo またはブランチ/パス付きの完全な URL を追加)。
貢献を歓迎します!TapDucky の改善にご協力いただける場合は:
このプロジェクトは GNU GPLv3 ライセンスの下でライセンスされています。LICENSE を参照してください。
問題が発生した場合やご質問がある場合は、GitHub リポジトリで issue を開くか、メンテナーに連絡してください。
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| 機能グループ | サブ機能 | サポート | 備考 |
|---|
| テキスト/タイミング | STRING / STRINGLN / STRING_DELAY | ✅ | STRING_DELAY は文字ごとのタイミング。グローバル遅延は DEFAULTDELAY 経由 |
| テキストブロック | STRING/STRINGLN ブロック | ✅ | END_STRING / END_STRINGLN で終了する複数行ブロック |
| タイミング | DELAY、DEFAULTDELAY/DEFAULT_DELAY | ✅ | DEFAULT は各実行可能ステップの後に適用 |
| 繰り返し | REPEAT N | ✅ | 直前のコマンドを N 回複製 |
| コメント | REM、REM_BLOCK/END_REM | ✅ | 実行されない |
| 修飾キー | GUI/WIN、CTRL、ALT、SHIFT コンボ | ✅ | 単一のコンボステップとして解析 |
| キーコマンド | 明示的なキー名 | ✅ | 「明示的なキーとエイリアスのサポート」に記載のすべてのキー/エイリアス |
| ホールド/リリース | HOLD、RELEASE | ✅ | 保持中のキーセットを追跡。INJECT_MOD と組み合わせて使用 |
| 明示的なキー状態 | KEYDOWN、KEYUP | ✅ | コンボと保持キーの直接的なキーダウン/アップ制御 |
| 注入修飾キー | INJECT_MOD | ✅ | クリアされるまで持続する修飾キーマスク |
| マウス/ポインター | MOUSE/POINTER CLICK/HOLD/DRAG/MOVE/SCROLL | ✅ | 繰り返し回数付きの相対移動 |
| 制御フロー | IF/ELSE IF/ELSE/END_IF | ✅ | ネストされたチェーンをサポート |
| ループ | WHILE/END_WHILE | ✅ | 式エンジンで条件を評価 |
| 関数 | FUNCTION/END_FUNCTION、CALL/CALL_FUNCTION、RETURN | ✅ | 引数をサポート。RETURN は $? を設定 |
| 変数 | VAR $name = expr | ✅ | 整数 0..65535 を格納。$? は終了コード。スコープ付きローカル変数 |
| 定義 | DEFINE NAME value | ✅ | パース前の単純なテキスト置換 |
| エラーハンドリング | TRY/CATCH/END_TRY | ✅ | スクリプトを中断せずに回復可能な失敗を処理 |
| 待機 | WAIT_FOR、SLEEP_UNTIL | ✅ | ホスト/UDC/キーボードの準備完了 + 時間指定待機 |
| 乱数 | RANDOM_* ジェネレーター | ✅ | 小文字/大文字/英字/数字/特殊文字/文字 |
| アタックモード | ATTACKMODE | ⚠️ | 解析のみ。バックエンドハンドラーは未実装 |
| アプリ | 機能 |
|---|
| IR Blaster | 対応デバイスの赤外線機能を制御およびテストします。 |
| USBDevInfo | USB デバイスの詳細と動作を検査し、接続されているものを把握します。 |
| GadgetFS | USB ガジェット機能を実験します(ハードウェアに近い低レベル)。 |
| TapDucky | 制御されたキーストローク注入ワークフローのためのセキュリティ/テストツール。 |
| HIDWiggle | USB ガジェット機能で構築されたマウスジグラー。 |
| AKTune | CPU/GPU/スケジューラー/メモリ/I/O 用のアダプティブ Android カーネル自動チューナー。 |