在选择 DSTIKE 的 USB 键盘自动化设备时,你可能会遇到这样的问题: WiFi Duck、White Ducky II、White Ducky S3 和 White Ducky Ultra 名字相似,它们的区别到底在哪里?
答案不只是芯片、屏幕或存储容量。更值得关注的是: 支持哪一代脚本语言、如何管理脚本,以及怎样选择和启动任务。
其中一个核心区别是: 在本文介绍的随附固件中,WiFi Duck 和 White Ducky II 支持 DuckyScript 1.0;White Ducky S3 和 White Ducky Ultra 支持 DuckyScript 3.0 的核心语言功能。
先确定脚本需要什么能力,再选择适合自己的操作方式, 通常比单纯比较型号名称更有帮助。
一、最重要的区别:DuckyScript 1.0 与 DuckyScript 3.0
DuckyScript 1.0:按顺序执行键盘操作
DuckyScript 1.0 主要用于顺序式键盘自动化: 输入文字、发送快捷键、等待指定时间,然后继续下一步。
这种方式适合流程已经确定的任务,例如输入标准文本、 执行固定快捷键组合,或演示一组重复操作。 脚本通常直接、易读,不需要复杂的程序结构。
WiFi Duck 和 White Ducky II 的随附固件属于这一类。 它们在脚本管理方式上不同,但不提供本文所述 S3 系列解释器中的 DuckyScript 3.0 变量、条件分支、结构化循环和基础函数支持。
需要注意,简单的重复命令不等于完整的程序控制结构。 例如,WiFi Duck 支持使用 REPEAT 重复上一条命令, 但这不等同于使用变量控制一个包含多条指令的循环。
DuckyScript 3.0:让脚本具备更完整的逻辑结构
White Ducky S3 和 White Ducky Ultra 的核心解释器支持变量、 条件判断、循环和基础函数。你可以保存和更新数值、 根据表达式选择不同分支、重复执行一组指令, 并组织可复用的操作流程。
例如,需要将一组操作重复执行指定次数时, 可以通过计数变量和循环组织脚本,而不是反复复制相同内容。
如果你的脚本依赖这些 DuckyScript 3.0 核心功能, 应优先考虑 White Ducky S3 或 White Ducky Ultra。
这里的“支持 DuckyScript 3.0”指固件已经实现的核心语言功能, 并不代表完整兼容所有扩展、所有 Hak5 硬件专属功能, 或编译后的 inject.bin 文件。
二、四款产品的主要区别
| 对比项目 | WiFi Duck | White Ducky II | White Ducky S3 | White Ducky Ultra |
|---|---|---|---|---|
| 脚本语言支持 | DuckyScript 1.0 | DuckyScript 1.0 | DuckyScript 3.0 核心功能 | DuckyScript 3.0 核心功能 |
| 主控平台 | ESP8266 + ATmega32U4 | ATmega32U4 | ESP32-S3 N16R8 | ESP32-S3 N16R8 |
| Wi-Fi 网页管理 | 支持 | 不支持 | 支持 | 支持 |
| 脚本存储 | ESP8266 内部 Flash | TF/microSD 卡 | 内部 Flash,使用 LittleFS | SD 卡 + 内部 LittleFS |
| 主要管理方式 | 网页创建、编辑和管理脚本 | 使用读卡器修改文件 | 网页上传或替换 payload.txt
|
网页管理 SD 多脚本及板载脚本 |
| 脚本选择 | 网页选择 | 六位拨码,最多 64 个位置 | 当前管理一个活动脚本 | OLED 或网页选择,最多浏览 256 个 SD 脚本 |
| OLED 显示屏 | 无 | 无 | 无 | 有 |
| 拨码开关用途 | 运行和编程连接模式 | 选择脚本 | 切换 UART / USB 模式 | 无需拨码切换,使用独立接口 |
| 供电方式 | USB | USB | USB | 内置可充电电池及 USB |
表中的存储、控制方式和脚本数量以对应硬件及随附固件为准; 固件更新或自行修改程序可能改变这些功能。
三、WiFi Duck:适合通过浏览器编辑和管理脚本
WiFi Duck 采用双控制器设计:ESP8266 提供本地 Wi-Fi、网页界面和内部脚本存储, ATmega32U4 负责 USB 键盘输入。它基于 SpacehuhnTech 的 WiFi Duck 开源项目。
它的特点是可以在浏览器中创建、编辑、保存和运行兼容脚本, 不需要为了日常修改脚本而反复取出存储卡。 板上的八位拨码用于运行及编程连接模式, 不是脚本选择器。
对于经常修改文本、调整延时、随后立即验证结果的用户, 这种操作方式值得考虑。
选择 WiFi Duck 的主要理由,是浏览器编辑体验和对应的开源项目生态, 而不是 DuckyScript 3.0 功能。
四、White Ducky II:适合提前准备脚本、离线选择使用
White Ducky II 将脚本存放在 TF/microSD 卡中,通过六位拨码选择, 最多提供 64 个脚本位置。修改文件通常使用读卡器, 不需要配置 Wi-Fi。
红外版本另有遥控触发功能,但红外不等于 Wi-Fi, 标准版也不默认包含红外功能。
它适合这样的工作习惯:提前准备一组 DuckyScript 1.0 脚本, 之后根据需要切换使用,而不是经常在浏览器里编辑。
例如,可以为固定的教学或测试流程建立一份“拨码位置—脚本用途”对照表。 这里的 64 个位置来自六位二进制开关的组合, 并不意味着存储卡只能容纳 64 个文本文件。
选择 White Ducky II 的主要理由,是离线存储和物理选择, 而不是更复杂的脚本逻辑。
五、White Ducky S3:紧凑型 DuckyScript 3.0 核心功能平台
White Ducky S3 使用 ESP32-S3 N16R8,配备 16 MB Flash、8 MB OPI PSRAM、 USB-A 接口、RGB 状态灯,以及带可拆保护帽的白色外壳。
它的典型使用流程是:连接设备的本地 Wi-Fi 热点, 通过浏览器上传 payload.txt, 再点击 Run Manually 手动启动。 脚本保存在内部 Flash 中,正常断电后仍可保留。 默认设置下,上电或上传文件不会自动执行脚本。
六位拨码用于切换模式,而不是选择脚本
White Ducky S3 的拨码用途与 White Ducky II 不同:
001111 对应 UART 模式,用于上传固件; 110010 对应 USB 模式,用于键盘运行。 切换前应断开 USB 电源。
16 MB Flash 不等于当前可以管理无限多个脚本
随附网页管理器一次管理一个活动的 payload.txt, 当前解释器的单文件上限为 128 KiB。
Flash 总容量、文件系统可用空间和固件提供的脚本管理功能,是不同概念。 8 MB PSRAM 是运行内存,并不是断电后保存文件的存储空间。
选择 White Ducky S3 的主要理由,是在紧凑的 USB 设备上使用 DuckyScript 3.0 核心功能,并通过 Wi-Fi 上传和启动脚本。
六、White Ducky Ultra:将多脚本管理和操作界面放到设备上
White Ducky Ultra 与 S3 都采用 ESP32-S3 N16R8,并支持前文所述的 DuckyScript 3.0 核心功能。Ultra 的主要升级集中在操作界面、 存储和便携使用,而不是将脚本语言再提升一个版本。
在屏幕上查看文件名并选择脚本
Ultra 配备 SH1106 OLED 和三向导航开关。 你可以左右选择文件,按下进入确认页面,再次按下执行。
当前固件可以浏览 SD 卡 /payloads/ 文件夹中的 最多 256 个脚本,并显示执行状态和当前脚本行。 准备好文件后,不打开手机上的管理页面, 也可以在设备上完成选择和启动。
同时支持 SD 多脚本和板载单脚本
Ultra 的网页管理器可以管理 SD 卡上的多个命名脚本, 也可以管理内部 Flash 中的单个 payload.txt。 没有安装 SD 卡时,仍可使用板载单脚本方式。
电池方便准备工作,双接口区分编程和运行
内置可充电电池及充电电路,让你可以在不依赖 USB 供电时 浏览脚本和管理文件。但向电脑发送键盘输入, 仍需要连接原生 USB 接口。
Ultra 将 UART 编程接口与原生 USB 接口分开, 无需通过拨码切换两种用途。
选择 White Ducky Ultra 的主要理由,是在使用 DuckyScript 3.0 核心功能的同时,获得更方便的多脚本选择、屏幕反馈和机身操作。
七、购买前需要了解的兼容性问题
Wi-Fi 是否意味着可以无线控制附近的电脑?
不是。在这些设备的相关固件中,Wi-Fi 用于访问管理界面, USB 用于向实际连接的电脑发送键盘输入。
无线管理脚本,不等于无线向任意电脑输入内容。 Ultra 的内置电池也不会改变这一点。
同一份脚本能在四款设备之间直接通用吗?
不能默认通用。
使用共同支持的基础命令时,脚本可能较容易迁移, 但仍需检查语法、键盘布局和延时设置。 依赖 DuckyScript 3.0 变量、条件、结构化循环或函数的脚本, 不能在两款 DuckyScript 1.0 设备的随附固件上原样运行。
同样,标注为“DuckyScript 3.0”的外部脚本, 也可能使用 S3 或 Ultra 尚未实现的扩展。 应检查脚本实际使用的命令,而不只是版本标签。
支持 USB 键盘,是否意味着适配所有系统和输入法?
不是。设备被识别为键盘,与脚本能否正确完成任务, 是两个不同问题。
S3 和 Ultra 当前随附固件使用美式英语键盘布局。 脚本还需要匹配主机操作系统、输入法、窗口焦点及应用响应时间。 WiFi Duck 项目提供多种键盘布局支持, 但同样需要核对实际安装的固件。
“执行完成”是否代表电脑上的每一步都成功?
不一定。以 Ultra 为例,OLED 显示 Finished 表示解释器正常完成,并不意味着它已经验证电脑端的每项结果。
停止执行也只是阻止后续按键发送,不会撤销已经完成的操作。 首次运行脚本时,应在非关键测试环境中观察并验证结果。
八、如何做出选择?
可以把选择过程分为两步。
第一步:确认脚本语言需求。 如果只需要固定的键盘操作序列,可以考虑 DuckyScript 1.0 设备; 如果脚本依赖已支持的变量、条件、循环或函数,应选择 S3 或 Ultra。
第二步:选择操作方式。 偏好浏览器编辑,可以考虑 WiFi Duck; 偏好离线拨码选择,可以考虑 White Ducky II; 需要紧凑的 ESP32-S3 无线管理设备,可以考虑 White Ducky S3; 需要查看文件名、切换多个脚本并直接在机身上操作, 可以考虑 White Ducky Ultra。
最终,合适的型号应同时满足你的 脚本能力需求和日常操作习惯。 更新的芯片、更大的存储或更多的控制方式, 只有在真正符合使用场景时,才会带来实际价值。
请仅在自己拥有或已获得明确授权的设备上使用。 本文描述的功能以对应硬件及随附固件为基础; 实际命令支持和操作方式,请以所用型号与固件版本的文档为准。