
前段时间想模仿 BLEUnlock 搞个使用指纹给 macOS 解锁的应用,让 AI Vibe Coding 了很多代码,特别是 USB HID 通信以及 CTAP 协议处理部分。
这中间在调试协议时,AI 花了相当多的时间来反复调整 USB HID 通信时的 Payload 大小,AI 最终的结论是:macOS IOKIT 在发送数据到 USB 设备时有 Bug,会缺少 1 个字节,所以通过宏定义的方式,将包大小减少 1 个字节来绕过这个 Bug 😂。
当然我是不相信这个结论的,毕竟 macOS 上通过 USB HID 通信的设备那么多,不可能有这么明显的 Bug,周末花了点时间来看看到底是咋回事。
问题表现
在整个通信协议相关代码写完,并且主机和设备通信测试成功之后,在设备端会提示 USB HID 在收到消息时,Payload 大小为 …
 阅读全文 » 












近期评论