Validity90

Reverse engineering of Validity/Synaptics 138a:0090, 138a:0094, 138a:0097, 06cb:0081, 06cb:009a fingerprint readers protocol

Github stars Tracking Chart







Validity90

This project aims on reverse engineering protocol of Validity 138a:0090, 138a:0094, 138a:0097, 06cb:0081, 06cb:009a fingerprint readers, creating specification and FLOSS libfprint driver.

Discussions

Main chat of this project: Gitter

libfrprint issue: https://gitlab.freedesktop.org/libfprint/libfprint/issues/54

Lenovo forums: https://forums.lenovo.com/t5/Linux-Discussion/Validity-Fingerprint-Reader-Linux/td-p/3352145

Notable files

  1. spec.md - Specification draft, the main work goes here right now.
  2. dissector.lua - Wireshark dissector for decrypting communication after key exchange.
  3. ~libfprint directory - libfprint repo with this driver integrated~ Not ready at the moment.
  4. prototype - Standalone prototype(extremly ugly code, would be completly rewritten for driver)

Testing

Prototype testers are needed, please share your result and join us in our Gitter.

Status, Device, Status, -----------, --------, 138a:0090, Scan, Image output, Internal DB check works in prototype. There is also a match-on-host libfprint driver by @3v1n0 based on prototype source(138a:0090 only). You can use it untill proper unified driver is available., 138a:0097, Scan, Internal DB check works in prototype, 138a:0094, Doesn't work yet, but looks promising. I will try to work on it after 90/97, 06cb:0081, So far looks identical to 138a:0094, 06cb:009a, Init works, leds work, scan doesn't work yet, 138a:0091, Different protocol, out of scope for this project. Check out Validity91 which aims to reverse engineer it., Task, Specification/Analysis, Prototype, Driver, ---------------------------, -------------------------, -------------, -------------, Initialization, Done, Done, Not Started, Configuration/Reconfig, In progress, In progress, Not Started, Pre TLS key exchange, In progress, Done, Not Started, TLS, Done, Done, Not Started, 90: Ops: scan, LED, etc, In progress, Scan, LED works, Not Started, 97: Ops: enroll, check, reset, LED, etc, In progress, Check works, Not Started, Image format, In progress, Done, Not Started, ## Donations

Please consider donating to support the development.
With paypal: Donate
With BTC: 1AsoCUGNVniBSBS359u2wKrA2CZiTgKZkM
With ETH: 0x005D8d9b5609b9A3Ec8B3cBd463a949405A8d621

Main metrics

Overview
Name With Ownernmikhailov/Validity90
Primary LanguageC
Program languagePython (Language Count: 8)
Platform
License:GNU Lesser General Public License v2.1
所有者活动
Created At2017-01-23 18:06:49
Pushed At2020-01-16 20:17:32
Last Commit At2019-02-26 00:10:20
Release Count0
用户参与
Stargazers Count1.9k
Watchers Count243
Fork Count113
Commits Count129
Has Issues Enabled
Issues Count105
Issue Open Count71
Pull Requests Count4
Pull Requests Open Count2
Pull Requests Close Count2
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private