fprint 找不到我的笔记本电脑的指纹设备,但 lsusb 找到了?

fprint 找不到我的笔记本电脑的指纹设备,但 lsusb 找到了?

所以当我使用 lsusb 时,我可以找到指纹设备,它的名称是 Generic Goodix Fingerprint device,我的笔记本电脑是 lenovo thinkpad 530s

考虑到 lsusb 可以找到它,那么为什么 fprint 找不到它呢?我只想使用这个指纹进行登录身份验证,我正在使用 Parrot Security

答案1

在 USB 标准中,有一种明确定义的方法可以从任何 USB 设备获取供应商 ID 和产品 ID 号。lsusb只需在一个大表中查找它们并显示与这些条目相关的人类可读文本。该表通常位于/usr/share/misc/usb.ids/var/lib/usbutils/usb.ids

fprint具有更复杂的任务:由于似乎没有用于指纹读取器的标准 USB 协议,因此它必须确切地知道要发送给读取器的特定于型号的消息以及如何解释它得到的答案。所以它只寻找它知道如何交谈的设备。

不幸的是,看起来汇顶指纹设备与目前支持的设备完全无关fprint,并且使用了不同的协议。但看起来像Antonio Ospite 正在分析协议至少有一些 Goodix 指纹识别器。您还可以检查这个 Github 页面以及其中提到的类似逆向工程工作的链接。

如果您非常熟悉编程,您可以尝试从上面链接的 GitLab 页面编译 Antonio 的测试程序,并查看它是否适用于您的指纹识别器。您还可以联系该程序的开发人员并提供帮助 - 至少,您可以使用您的硬件测试 Antonio 的新版本并捕获 USB 流量以进行比较分析。也许通过与安东尼奥(也许还有其他可能做过同样工作的人)合作,您可能会找出协议,以便fprint可以实施支持。

相关内容