输入模拟
虚数精灵可以在软件、系统、驱动、硬件等不同层面产生键盘与鼠标输入。各层面的实现思路不同,适用场景也各有侧重,你可以随时切换,而无需修改已有的程序。
方式比较
| 层面 | 模拟方式 | 适用对象 | 说明 |
|---|---|---|---|
| 软件层 | PostMessage | 键盘、鼠标 | 后台方式:输入直接发送给指定窗口,不会占用或移动你正在使用的键鼠 |
| 软件层 | ProcessInjection | 键盘、鼠标 | 后台方式:输入在目标程序内部产生,对不响应窗口消息的程序同样有效 |
| 系统层 | Standard | 键盘、鼠标 | 前台方式:与真人操作一致,兼容性最好,也是默认方式 |
| 驱动层 | Driver | 键盘、鼠标 | 前台方式:输入由驱动层产生,特征更接近真实硬件设备 |
| 硬件层 | KmBoxNet | 键盘、鼠标 | 由网络连接的外部设备产生输入,可与本机分开部署 |
| 硬件层 | Makcu | 仅鼠标 | 由串口连接的外部设备产生输入,适合就近外接 |
如何选择
- 不希望打断自己的操作:选择软件层的 PostMessage 或 ProcessInjection,整个过程鼠标指针不会移动,也不会真正按下按键。
- 不确定该用哪一种:保持默认的系统层 Standard 即可。
- 希望输入特征更接近真实设备:选择驱动层的 Driver。
- 需要远程或跨设备操作:选择硬件层的 KmBoxNet 或 Makcu。
使用说明
- 在「设置」中可以为键盘、鼠标(或二者一起)分别配置模拟方式,键盘与鼠标不要求使用同一种方式。
- 不同方式的选项略有差异:软件层方式需要指定目标窗口,硬件层方式需要填写设备地址或选择串口。
- 切换方式后,已有程序无需改动,节点会按新的方式执行。
- 选择硬件层方式前,请先连接好对应的外部设备。
- 选择驱动层方式前,请先完成下文的测试签名准备。
驱动层的测试签名准备
当前版本的驱动尚未完成正式签名
「驱动层」方式依赖随软件分发的键鼠驱动。该驱动目前只有测试签名,Windows 默认不会加载,因此使用前需要让系统进入测试模式,并安装配套的测试证书。
测试模式是调试用途,会放宽系统对驱动签名的校验,建议只在需要使用驱动层方式时开启,用完后按下文关闭。
测试证书的文件名为 WDRLocalTestCert.cer,可以在官方交流群获取:QQ 群 198129874(点击加群)。
第一步:进入测试模式
如果主板开启了安全启动(Secure Boot),先进入 BIOS/UEFI 设置将其关闭——测试模式与安全启动无法同时生效。
以管理员身份打开 PowerShell 或命令提示符。
执行下面的命令:
powershellbcdedit /set testsigning on重启电脑。
重启后桌面右下角会出现「测试模式」水印,说明已经生效。
想确认当前状态,可以用管理员权限执行 bcdedit /enum {current},其中 testsigning 一项应为 Yes。
不再需要时,执行 bcdedit /set testsigning off 并重启即可退出测试模式。
第二步:安装测试证书
证书需要安装到「本地计算机」的受信任的根证书颁发机构和受信任的发布者两个存储中。
图形界面方式:双击 WDRLocalTestCert.cer,选择「安装证书」→ 存储位置选「本地计算机」→「将所有证书都放入下列存储」→ 选择「受信任的根证书颁发机构」完成安装;然后重复一次,改为安装到「受信任的发布者」。
命令行方式(需要管理员权限):
certutil -addstore -f "Root" WDRLocalTestCert.cer
certutil -addstore -f "TrustedPublisher" WDRLocalTestCert.cer写入根证书存储时,系统可能会弹出安全警告,需要确认继续。
完成之后
以上两步完成后,在设置中把模拟方式选为 Driver 即可使用。驱动本身不需要手动安装:软件会检查系统中已安装的驱动版本,并在需要时自动安装随应用分发的驱动包,版本不一致时也会自动升级或降级。
关于正式版
预计正式版发布时将携带经过正式签名的驱动。届时不再需要进入测试模式,也不需要安装测试证书,直接选择驱动层方式即可使用。