Skip to content

rayl/vfs101driver

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Some tools to examine Validity VFS101 sensors.

Quickstart
-----------------------------------------------------------------------
To produce an image of your fingerprint under Linux:

 $ mkdir -p img/X img/Y
 $ make
 $ ./src/proto woot personal
    ... wait for "00 16 00 00 00 FF FF 01" scrolling by...
    ... swipe your finger ...

This _should_ produce a fingerprint in img/X/out-000-00.pnm



Monitoring the device under Windows
-----------------------------------------------------------------------
To use this, you need:
 - Machine with a VFS101 fingerprint reader
 - Windows
 - UsbSnoop

Boot up under windows, install UsbSnoop, and monitor the biometric
device. Go to Services, stop the DigitalPersona and Validity services,
then restart them.  Swipe a few fingerprints, then save the UsbSnoop
log as UsbSnoop.log.



Analysing the USB dump
-----------------------------------------------------------------------
To use this, you need:
 - Linux
 - UsbSnoop.log file from previous step

Boot up under Linux, copy UsbSnoop.log into this folder, and do this:

 $ cat UsbSnoop.log | ./scripts/UsbSnoop.pl > UsbSnoop.txt
 $ mkdir img2
 $ cat UsbSnoop.txt | ./scripts/Snoop2Api.pl > src/mine.h
 $ gwenview img2

This should produce:
  - a set of API calls in src/mine.h
  - PNM images of your fingerprints under img2



Testing the device under Linux
-----------------------------------------------------------------------
To use this, you need:
 - Machine with a VFS101 fingerprint reader
 - Linux

To import the results of your Windows USB capture, do this:
 $ vi src/proto.c
    ... hook up mine.h, see commit a2fa7c94ee26d233a259fd84538338c7f6b114b1
    ... you will need to rename PREFIX_ to something else
 $ make

Once you've imported your Windows log, or if you just want to use a
pre-existing cycle, do this:
 $ mkdir -p img/X
 $ ./src/proto woot personal > output

This should produce:
  - a logfile of Linux vs Windows USB transactions in output
  - PNM images of your fingerprints under img



Personal Information
-----------------------------------------------------------------------
Personal information is defined as images of your fingerprints, or enough
data to produce such images.

The UsbSnoop.log and UsbSnoop.txt files contain enough information to
reconstruct images of your fingerprints.

The Snoop2Api.pl script will extract this information and produce PNM images
under img2/

By default, ./src/proto will not produce any personal information.  IF you
explicitly select a cycle routine (eg: 'woot') AND provide a second argument
"personal", then ./src/proto may (depending on the cycle you select...)

  - monitor the fingerprint scanner
  - print on stdout enough information to reconstruct your fingerprints
  - produce PNM images of your fingerprints under img/


Releases

No releases published

Packages

No packages published

Languages