一款用于以多种方式执行 USB HID 攻击(Rubber Duck)的 Android 应用:
Ducky 脚本语法简单。每个命令占据新的一行,后面可以跟选项。命令全大写,因为鸭子声音大,喜欢骄傲地嘎嘎叫。大多数命令调用按键、组合键或字符串,有些则提供延迟或暂停。以下是命令列表及其功能,以及一些使用示例。部分语法扩展自原始的 Hak5 Ducky 脚本语法。鼠标 Ducky 脚本与网上看到的有所不同,已定义为保持与键盘 Ducky 脚本的相似性。
注意: 参数中 [num] 代表数字,[char] 代表 A-Z、a-z 字符。还增加了对 可自定义 HID 的支持。
支持所有 HID2/传统 HID 命令
所有鼠标/指针命令都将以此命令开头。REPEAT 命令和 DELAY 命令的效果也可应用于鼠标命令。注意:
[button] 中,模拟鼠标按钮动作,可以有以下值:
[x] 和 [y] 中,模拟鼠标移动动作,取值范围为 -127 到 127。这表示像素,并且相对于鼠标当前位置。如果鼠标在点 (150,150) 处,你可以先将鼠标移动到此点的 (127,127) 像素位置,再移动到 (23,23)。因此,如果鼠标在 (0,0) [左上角],你想移动到 (1920,1080) [右下角,假设是 1080p 显示器],那么你需要多次移动鼠标,每次最多 127 像素(或更少)朝任一方向。[scroll] 中,模拟鼠标滚轮动作,可以有以下值:
[num] 表示一个数字。用于重复动作。或者,可以使用 REPEAT 命令。语法:
示例:``` REM double left click MOUSE CLICK LEFT 2 REM drag a folder MOUSE HOLD LEFT 127 45 REM move pointer MOUSE MOVE 0 0 5 REM scroll a document MOUSE SCROLL DOWN 10 REM using repeat MOUSE CLICK LEFT REPEAT 1
---
# 本地化
| 状态 | 代码 | 语言 | 已翻译 |
|:------:|:---------:|:-----------------------:|:----------:|
| ❌ | b+ach | 阿乔利语 | 0% |
| ❌ | aa | 阿法尔语 | 0% |
| ✅ | af | 南非荷兰语 | 100% |
| ✅ | ak | 阿坎语 | 100% |
| ✅ | sq | 阿尔巴尼亚语 | 100% |
| ✅ | am | 阿姆哈拉语 | 100% |
| ✅ | ar | 阿拉伯语 | 100% |
| ❌ | an | 阿拉贡语 | 0% |
| ✅ | hy | 亚美尼亚语 | 100% |
| ❌ | as | 阿萨姆语 | 0% |
| ❌ | b+ast | 阿斯图里亚斯语 | 0% |
| ❌ | av | 阿瓦尔语 | 0% |
| ❌ | ae | 阿维斯陀语 | 0% |
| ❌ | ay | 艾马拉语 | 0% |
| ✅ | az | 阿塞拜疆语 | 100% |
| ❌ | b+ban | 巴厘语 | 0% |
| ❌ | b+bal | 俾路支语 | 0% |
| ❌ | bm | 班巴拉语 | 0% |
| ❌ | ba | 巴什基尔语 | 0% |
| ✅ | eu | 巴斯克语 | 100% |
| ✅ | be | 白俄罗斯语 | 100% |
| ✅ | bn | 孟加拉语 | 100% |
| 🚧 | b+ber | 柏柏尔语 | 41% |
| ❌ | bh | 比哈尔语 | 0% |
| ❌ | bi | 比斯拉马语 | 0% |
| ✅ | bs | 波斯尼亚语 | 100% |
| ✅ | br | 布列塔尼语 | 100% |
| ✅ | bg | 保加利亚语 | 100% |
| ❌ | my | 缅甸语 | 0% |
| ✅ | ca | 加泰罗尼亚语 | 100% |
| ❌ | b+ceb | 宿务语 | 0% |
| ❌ | ch | 查莫罗语 | 0% |
| ❌ | ce | 车臣语 | 0% |
| ❌ | b+chr | 切罗基语 | 0% |
| ✅ | ny | 切瓦语 | 100% |
| ✅ | zh-rCN | 简体中文 | 100% |
| ✅ | zh-rTW | 繁体中文 | 100% |
| ❌ | cv | 楚瓦什语 | 0% |
| ❌ | kw | 康沃尔语 | 0% |
| ✅ | co | 科西嘉语 | 100% |
| ❌ | cr | 克里语 | 0% |
| ✅ | hr | 克罗地亚语 | 100% |
| ✅ | cs | 捷克语 | 100% |
| ✅ | da | 丹麦语 | 100% |
| ❌ | dv | 迪维希语 | 0% |
| ✅ | nl | 荷兰语 | 100% |
| ❌ | dz | 宗卡语 | 0% |
| ✅ | en-rGB | 英语(英国) | 100% |
| ✅ | en-rUS | 英语(美国) | 100% |
| ✅ | eo | 世界语 | 100% |
| ✅ | et | 爱沙尼亚语 | 100% |
| ✅ | ee | 埃维语 | 100% |
| ❌ | fo | 法罗语 | 0% |
| ❌ | fj | 斐济语 | 0% |
| ✅ | b+fil | 菲律宾语 | 100% |
| ✅ | fi | 芬兰语 | 100% |
| ✅ | fr | 法语 | 100% |
| ✅ | fy | 弗里斯兰语 | 100% |
| ❌ | b+fur | 弗留利语 | 0% |
| ❌ | ff | 富拉语 | 0% |
| ❌ | b+gaa | 加语 | 0% |
| ✅ | gl | 加利西亚语 | 100% |
| ✅ | ka | 格鲁吉亚语 | 100% |
| ✅ | de | 德语 | 100% |
| ❌ | b+got | 哥特语 | 0% |
| ✅ | el | 希腊语 | 100% |
| ❌ | kl | 格陵兰语 | 0% |
| ✅ | gn | 瓜拉尼语 | 100% |
| ✅ | gu | 古吉拉特语 | 100% |
| ✅ | ht | 海地克里奥尔语 | 100% |
| ✅ | ha | 豪萨语 | 100% |
| ✅ | b+haw | 夏威夷语 | 100% |
| ✅ | iw | 希伯来语 | 100% |
| ❌ | hz | 赫雷罗语 | 0% |
| ❌ | b+hil | 希利盖农语 | 0% |
| ✅ | hi | 印地语 | 100% |
| ❌ | ho | 希里莫图语 | 0% |
| ❌ | b+hmn | 赫蒙语 | 0% |
| ✅ | hu | 匈牙利语 | 100% |
| ✅ | is | 冰岛语 | 100% |
| ❌ | io | 伊多语 | 0% |
| ✅ | ig | 伊博语 | 100% |
| ❌ | b+ilo | 伊洛卡诺语 | 0% |
| ✅ | in | 印度尼西亚语 | 100% |
| ❌ | iu | 因纽特语 | 0% |
| ✅ | ga | 爱尔兰语 | 100% |
| ✅ | it | 意大利语 | 100% |
| ✅ | ja | 日语 | 100% |
| ✅ | jv | 爪哇语 | 100% |
| ❌ | b+kab | 卡拜尔语 | 0% |
| ✅ | kn | 卡纳达语 | 100% |
| ✅ | b+pam | 邦板牙语 | 100% |
| ❌ | ks | 克什米尔语 | 0% |
| ❌ | b+csb | 卡舒布语 | 0% |
| ✅ | kk | 哈萨克语 | 100% |
| ❌ | km | 高棉语 | 0% |
| ✅ | rw | 基尼阿万达语 | 100% |
| ❌ | b+tlh | 克林贡语 | 0% |
| ❌ | kv | 科米语 | 0% |
| ❌ | kg | 刚果语 | 0% |
| ❌ | b+kok | 孔卡尼语 | 0% |
| ✅ | ko | 韩语 | 100% |
| ✅ | ku | 库尔德语 | 100% |
| ❌ | kj | 宽亚玛语 | 0% |
| ✅ | ky | 吉尔吉斯语 | 100% |
| ✅ | lo | 老挝语 | 100% |
| ✅ | la | 拉丁语 | 100% |
| ✅ | lv | 拉脱维亚语 | 100% |
| ❌ | li | 林堡语 | 0% |
| ✅ | ln | 林加拉语 | 100% |
| ✅ | lt | 立陶宛语 | 100% |
| ❌ | b+jbo | 逻辑语 | 0% |
| ❌ | b+nds | 低地德语 | 0% |
| ❌ | b+dsb | 下索布语 | 0% |
| ✅ | lg | 卢干达语 | 100% |
| ❌ | b+luy | 卢希亚语 | 0% |
| ❌ | lb | 卢森堡语 | 0% |
| ✅ | mk | 马其顿语 | 100% |
| ❌ | b+mai | 迈蒂利语 | 0% |
| ✅ | mg | 马拉加斯语 | 100% |
| ✅ | ms | 马来语 | 100% |
| ✅ | ml | 马拉雅拉姆语 | 100% |
| ✅ | mt | 马耳他语 | 100% |
| ❌ | gv | 马恩岛语 | 0% |
| ✅ | mi | 毛利语 | 100% |
| ❌ | b+arn | 马普切语 | 0% |
| ✅ | mr | 马拉地语 | 100% |
| ❌ | mh | 马绍尔语 | 0% |
| ❌ | b+moh | 莫霍克语 | 0% |
| ✅ | mn | 蒙古语 | 100% |
| ❌ | b+mos | 莫西语 | 0% |
| ❌ | na | 瑙鲁语 | 0% |
| ❌ | ng | 恩顿加语 | 0% |
| ✅ | ne | 尼泊尔语 | 100% |
| ❌ | se | 北方萨米语 | 0% |
| ✅ | b+nso | 北索托语 | 100% |
| ✅ | no | 挪威语 | 100% |
| ✅ | nb | 挪威博克马尔语 | 100% |
| ✅ | nn | 挪威尼诺斯克语 | 100% |
| ❌ | oc | 奥克语 | 0% |
| 🚧 | or | 奥里亚语 | 26% |
| ❌ | oj | 奥吉布瓦语 | 0% |
| ✅ | om | 奥罗莫语 | 100% |
| ❌ | os | 奥塞梯语 | 0% |
| ❌ | pi | 巴利语 | 0% |
| ❌ | b+pap | 帕皮亚门托语 | 0% |
| ✅ | ps | 普什图语 | 100% |
| ✅ | fa | 波斯语 | 100% |
| ✅ | pl | 波兰语 | 100% |
| ✅ | pt | 葡萄牙语(葡萄牙) | 100% |
| ✅ | pt-rBR | 葡萄牙语(巴西) | 100% |
| ✅ | pa | 旁遮普语 | 100% |
| ✅ | qu | 盖丘亚语 | 100% |
| ✅ | ro | 罗马尼亚语 | 100% |
| ❌ | rm | 罗曼什语 | 0% |
| ❌ | rn | 隆迪语 | 0% |
| ✅ | ru | 俄语 | 100% |
| ❌ | sg | 桑戈语 | 0% |
| ❌ | sa | 梵语 | 0% |
| 🚧 | b+sat | 桑塔利语 | 80% |
| ❌ | sc | 撒丁语 | 0% |
| ❌ | b+sco | 苏格兰语 | 0% |
| ✅ | gd | 苏格兰盖尔语 | 100% |
| ✅ | sr | 塞尔维亚语(西里尔字母) | 100% |
| ❌ | b+sr+Latn | 塞尔维亚语(拉丁字母) | 0% |
| ✅ | sn | 绍纳语 | 100% |
| ❌ | ii | 四川彝语 | 0% |
| ✅ | sd | 信德语 | 100% |
| ✅ | si | 僧伽罗语 | 100% |
| ✅ | sk | 斯洛伐克语 | 100% |
| ✅ | sl | 斯洛文尼亚语 | 100% |
| ✅ | so | 索马里语 | 100% |
| ❌ | b+son | 桑海语 | 0% |
| ❌ | nr | 南恩德贝莱语 | 0% |
| ❌ | b+sma | 南方萨米语 | 0% |
| ❌ | st | 南索托语 | 0% |
| ✅ | es | 西班牙语(西班牙) | 100% |
| ✅ | b+es+419 | 西班牙语(拉丁美洲) | 100% |
| ✅ | su | 巽他语 | 100% |
| ✅ | sw | 斯瓦希里语 | 100% |
| ❌ | ss | 斯瓦蒂语 | 0% |
| ✅ | sv | 瑞典语 | 100% |
| ❌ | b+syc | 叙利亚语 | 0% |
| ❌ | tl | 他加禄语 | 0% |
| ❌ | ty | 塔希提语 | 0% |
| ✅ | tg | 塔吉克语 | 100% |
| ✅ | ta | 泰米尔语 | 100% |
| ✅ | tt | 鞑靼语 | 100% |
| ✅ | te | 泰卢固语 | 100% |
| ✅ | th | 泰语 | 100% |
| ❌ | bo | 藏语 | 0% |
| ✅ | ti | 提格雷尼亚语 | 100% |
| ❌ | ts | 聪加语 | 0% |
| ❌ | tn | 茨瓦纳语 | 0% |
| ✅ | tr | 土耳其语 | 100% |
| ✅ | tk | 土库曼语 | 100% |
| ✅ | uk | 乌克兰语 | 100% |
| ❌ | b+hsb | 上索布语 | 0% |
---
# Rucky 特色推荐
- [Kali Linux 2019.3 发布](https://www.kali.org/blog/kali-linux-2019-3-release/)
- [Kali Linux 2021.1 发布](https://www.kali.org/blog/kali-linux-2021-1-release/)
- [Prog.World](https://prog.world/kali-linux-nethunter-on-android-part-3-breaking-the-distance/)
- [ProgrammerSought](https://www.programmersought.com/article/30497171179/)
- [Dark_Mechanic YouTube 频道](https://youtu.be/ic-X-FCLNk8)
- [AV SHIVA NORO YouTube 频道](https://youtu.be/4clbu41cEQ0)
- [Android Infosec YouTube 频道](https://www.youtube.com/watch?v=_NDXzGPh_BQ)
- [Android Infosec Facebook 帖子](https://www.facebook.com/AndroidInfoSec/posts/4101537619869708)
---
# 旧版项目
[](https://github.com/mayankmetha/Rucky-Ext-RPi)
[](https://github.com/mayankmetha/Rucky-Legacy-HID)
[](https://github.com/mayankmetha/Rucky/releases/tag/1.9)
[](https://github.com/mayankmetha/Rucky/releases/tag/1.9)
| 特性 | 子特性 | 支持状态 | 描述 |
|---|
| 按键注入 | 字符键:字母数字 | ✅ | Hak5 文档 |
| 按键注入 | 字符键:标点符号 | ✅ | Hak5 文档 |
| 按键注入 | STRING | ✅ | Hak5 文档 |
| 按键注入 | STRINGLN | ✅ | Hak5 文档 |
| 按键注入 | 光标键 | ✅ | Hak5 文档 |
| 按键注入 | 系统键 | ✅ | Hak5 文档 |
| 按键注入 | 基本修饰键 | ✅ | Hak5 文档 |
| 按键注入 | 基本修饰键 | ✅ | Hak5 文档 |
| 按键注入 | 基本修饰键 | ✅ | Hak5 文档 |
| 按键注入 | 基本修饰键 | ✅ | Hak5 文档 |
| 注释 | REM | ✅ | Hak5 文档 |
| 延迟 | DELAY | ✅ | Hak5 文档 |
| 按钮 | WAIT_FOR_BUTTON_PRESS | ❌ | Hak5 文档 正在检查可行性 |
| 按钮 | BUTTON_DEF | ❌ | Hak5 文档 正在检查可行性 |
| 按钮 | DISABLE_BUTTON | ❌ | Hak5 文档 正在检查可行性 |
| 按钮 | ENABLE_BUTTON | ❌ | Hak5 文档 正在检查可行性 |
| 按钮 | 内部变量 | ❌ | Hak5 文档 正在检查可行性 |
| LED | 默认行为 | ❌ | Hak5 文档 正在检查可行性 |
| LED | LED_OFF | ❌ | Hak5 文档 正在检查可行性 |
| LED | LED_R | ❌ | Hak5 文档 正在检查可行性 |
| LED | LED_G | ❌ | Hak5 文档 正在检查可行性 |
| LED | 内部变量 | ❌ | Hak5 文档 正在检查可行性 |
| 攻击模式 | ATTACKMODE | 🚧 | Hak5 文档 存储模式不支持,因为较新的 Android 版本不支持大容量存储模式 |
| 攻击模式 | VID 和 PID | ✅ | Hak5 文档 |
| 攻击模式 | MAN、PROD 和 SERIAL | 🚧 | Hak5 文档 SERIAL_RANDOM 目前不支持 |
| 攻击模式 | SAVE 和 RESTORE | ❌ | Hak5 文档 |
| 攻击模式 | 内部变量 | ❌ | Hak5 文档 |
| 常量 | DEFINE | ✅ | Hak5 文档 |
| 变量 | VAR | ✅ | Hak5 文档 |
| 运算符 | 数学运算符 | ✅ | Hak5 文档 |
| 运算符 | 比较运算符 | ✅ | Hak5 文档 |
| 运算符 | 运算顺序 | ✅ | Hak5 文档 |
| 运算符 | 逻辑运算符 | ✅ | Hak5 文档 |
| 运算符 | 复合赋值运算符 | ✅ | Hak5 文档 |
| 运算符 | 位运算符 | ✅ | Hak5 文档 |
| 条件语句 | IF | ✅ | Hak5 文档 |
| 条件语句 | ELSE | ✅ | Hak5 文档 |
| 条件语句 | 嵌套 IF 语句 | ✅ | Hak5 文档 |
| 条件语句 | 带逻辑运算符的 IF 语句 | ✅ | Hak5 文档 |
| 条件语句 | IF 语句优化 | ✅ | Hak5 文档 |
| 循环 | WHILE | ✅ | Hak5 文档 |
| 循环 | 无限循环 | ✅ | Hak5 文档 |
| 函数 | FUNCTION | ✅ | Hak5 文档 |
| 函数 | 传递参数和返回值 | ✅ | Hak5 文档 |
| 随机化 | ❌ | Hak5 文档 | |
| 按键保持 | HOLD 和 RELEASE | ✅ | Hak5 文档 |
| 按键保持 | 保持修饰键 | ✅ | Hak5 文档 |
| 按键保持 | 保持多个键 | ✅ | Hak5 文档 |
| 负载控制 | ❌ | Hak5 文档 | |
| 抖动 | ❌ | Hak5 文档 | |
| 负载隐藏 | ❌ | Hak5 文档 | |
| 存储活动 | ❌ | Hak5 文档 | |
| 锁定键 | ❌ | Hak5 文档 | |
| 数据渗出 | ❌ | Hak5 文档 | |
| 扩展 | ❌ | Hak5 文档 |
| 命令 | 命令类型 | 参数 1 | 参数 2 | 参数 3 | 参数 4 | 描述 |
|---|
| MOUSE or POINTER | CLICK or TOUCH or PRESS | [button] | [num] | 鼠标按钮点击。鼠标不会沿 [x] 和 [y] 方向移动。 | ||
| MOUSE or POINTER | HOLD or DRAG | [button] | [x] | [y] | [num] | 鼠标按钮点击并保持。鼠标可以沿 [x] 和 [y] 方向移动。 |
| MOUSE or POINTER | MOVE or TRANSLATE | [x] | [y] | [num] | 鼠标按钮不点击。鼠标可以沿 [x] 和 [y] 方向移动。 | |
| MOUSE or POINTER | KNOB or WHEEL or SCROLL | [scroll] | [num] | 鼠标按钮不点击。鼠标可以向上或向下滚动。 |