案例
Validity90:逆向分析 Validity/Synaptics 指纹读取器协议
逆向分析 Validity/Synaptics 笔记本指纹读取器 138a:0090、138a:0094、138a:0097、06cb:0081 和 06cb:009a 的 USB 协议,目标是写出协议规范和自由的 libfprint 驱动。仓库包含初始化流程及这些读取器所用改版 TLS 1.2 握手的规范草稿、一个在密钥交换后解密通信的 Wireshark Lua 解析器,以及一个通过 libusb 与读取器通信的独立 C 原型。README 称原型代码非常粗糙,编写驱动时会完全重写,并注明集成到 libfprint 的驱动尚未就绪。
- 目标
- 协议
- 类别
- 独立重建案例
- 关联
- 独立重建项目
- 来源复核于
- 星标
- 1.9k
- 最近提交
- 2019-02-25
- 主要语言
- C
- 许可(GitHub 识别)
- LGPL-2.1
GitHub 数据,截至 2026-11-09
使用条件与局限
- README 报告原型在 138a:0090 上可扫描并输出图像,在 138a:0097 上可扫描,在 06cb:009a 上可初始化并控制 LED,但无法扫描。集成的 libfprint 驱动尚未就绪;配置、TLS 前密钥交换、设备操作和图像格式仍在完善。
- 原型需要列出的 USB 读取器及机器 DMI 产品序列号的读取权限,以生成会话密钥。Makefile 的权限目标使用 sudo。Linux 构建依赖 NSS、OpenSSL、libgcrypt、libusb-1.0、libpng 与 GLib。解析器需要 Wireshark Lua 与 lua-lockbox。
- make test 检查实用函数和一个初始化响应的解析。设备结果记录在 README 状态表及原型日志中。
- 许可证:项目代码为 LGPL-2.1-or-later;libfprint 副本及子模块保留各自许可声明。公开的规范和原型包含恢复出的密钥及字节序列。
引用
BibTeX
@misc{validity90-fingerprint-protocol-case,
title = {{Validity90: reverse engineering a Validity/Synaptics fingerprint-reader protocol}},
howpublished = {\url{https://github.com/nmikhailov/Validity90}},
url = {https://github.com/nmikhailov/Validity90},
urldate = {2026-10-20},
note = {Awesome REA entry: \url{https://awesomerea.org/zh/resources/validity90-fingerprint-protocol-case/}}
}纯文本
Validity90: reverse engineering a Validity/Synaptics fingerprint-reader protocol。https://github.com/nmikhailov/Validity90(访问于 2026-10-20)。Awesome REA 条目:https://awesomerea.org/zh/resources/validity90-fingerprint-protocol-case/
有帮助?在 GitHub 上为 Awesome REA 加星2.4k
关于此条目
说明已依据一手来源复核。
一手来源
- README.md GitHub · nmikhailov/Validity90 · 修订 8b80cfe
- spec.md GitHub · nmikhailov/Validity90 · 修订 8b80cfe
- prototype/README.md GitHub · nmikhailov/Validity90 · 修订 8b80cfe
- prototype/Makefile GitHub · nmikhailov/Validity90 · 修订 8b80cfe
- prototype/main.c GitHub · nmikhailov/Validity90 · 修订 8b80cfe
- prototype/test GitHub · nmikhailov/Validity90 · 修订 8b80cfe
- prototype/logs GitHub · nmikhailov/Validity90 · 修订 8b80cfe
- dissector.lua GitHub · nmikhailov/Validity90 · 修订 8b80cfe
- dbg/attach.sh GitHub · nmikhailov/Validity90 · 修订 8b80cfe
- .gitmodules GitHub · nmikhailov/Validity90 · 修订 8b80cfe
- libfprint/.gitrepo GitHub · nmikhailov/Validity90 · 修订 8b80cfe
- COPYING GitHub · nmikhailov/Validity90 · 修订 8b80cfe