Menu Content/Inhalt
Accueil arrow Outils arrow Win32 CUI arrow FingerprintCapture

Syndication

Abonnez-vous à ce fil RSS pour être tenu informé des nouveautés de ce site.

FingerprintCapture Convertir en PDF Version imprimable Suggérer par mail
Écrit par Gilles LAURENT   
21-01-2018

FingerprintCapture - Gérer les échantillons d'empreintes digitales capturés par un capteur biométrique

Image

Ce projet a vu le jour grâce à mon collègue de bureau Hervé P. avec qui je travaille chez mon client actuel. En effet, il était l'heureux possesseur d'un Apple iPhone 5c blanc 32Go sur lequel un composant électronique lié à l'alimentation de la carte mère a grillé :-( Après avoir déposé l'engin pour un devis chez le technicien du centre de réparation du quartier dans lequel nous travaillons, il s'avère que le prix de la remise en état de fonctionnement avoisinerait 80 euros ... Dans l'urgence et pour se donner un temps de réflexion, Hervé a fait le choix d'acquérir un nouveau Smartphone neuf d'entrée / milieu de gamme à moindre coût. Son choix s'est porté sur le Huawei P8 Lite sous Android 7.0 (Nougat). Nous l'avons rapidement configuré pour pouvoir utiliser les principaux services (téléphonie, SMS, MMS, messagerie, notifications et quelques App qui étaient installées sur son iPhone et disponibles pour Android ! Côté sécurité, le nouveau Smartphone intègre un capteur biométrique utilisé pour le déverrouillage de l'écran d'accueil par reconnaissance de l'empreinte digitale. Parfait ! De retour sur mon poste de travail, un ultra portable HP EliteBook Folio 1040 G2 sous Windows 7 SP1 et disposant lui aussi d'un capteur biométrique, j'ai voulu explorer le sujet et voir ce que Windows mettait à la disposition du développeur pour interagir avec ce type de capteur. Et voici donc l'outil CUI FingerprintCapture, le fruit de ces recherches !

L'outil FingerprintCapture permet de capturer ainsi que de gérer les échantillons d'empreintes digitales. Il offre donc la possibilité de procéder à l'inscription de l'identité de l'utilisateur courant, de supprimer une inscription ou toutes les inscriptions de la base de données du capteur biométrique, de vérifier si un échantillon d'empreinte digitale est enregistré dans la base de données du capteur et enfin de capturer en mode brut (RAW) une empreinte digitale et de la convertir au format Windows Bimap (.bmp). L'image Bitmap sera exportée dans le presse-papier et en option dans un fichier Bitmap 8BPP en 256 niveaux de gris !

Important:

J'ai ouvert le compilateur Visual Studio 2013 dans ma machine virtuelle Windws 8.1 et je me suis lancé dans le développement de l'outil un peu tête baissée ;-) Au départ, je n'arrivais pas à communiquer avec le capteur biométrique du poste de travail bien que celui-ci soit correctement reconnu par le gestionnaire des périphériques Windows (devmgmt.msc) et opérationnel. J'ai donc été faire un tour sur le site du constructeur, ici HP, pour regarder si une mise à jour du pilote était disponible et là bingo ! Il existe en fait deux pilotes distincts pour le capteur biométrique: un pilote natif Synaptics et un pilote au standard Windows Biometric Framework. J'ai donc procédé à l'installation du pilote WBF en lieu et place du pilote natif et tout est rentré dans l'ordre !

Image

Exemple:

Ci-dessous la sortie en mode debug de l'outil FingerprintCapture pour vérifier si l'échantillon d'empreinte digitale est enregistré dans la base de données du capteur. Le login et le nom complet de l'utilisateur local ou du domaine Windows associé à l'échantillon est affiché.

C:\Tools>.\FingerprintCapture.exe -identify -debug > nul
[+] FingerprintCapture x64 v1.0.0.1 started
[ ] operating system version=6.1.7601
[ ] commandline=.\FingerprintCapture.exe  -identify -debug
[ ] searching for fingerprint units ...
[ ] number of fingerprint unit(s)=1
[ ] unitid=1
[ ] description=Synaptics FP Sensors (WBF) (PID=003f)
[ ] instanceid=USB\VID_138A&PID_003F\0030F8F59D80
[ ] biometric factor=0x00000008
[ ] database file=C:\WINDOWS\SYSTEM32\WINBIODATABASE\1000F3B5-9412-490E-97BA-4AA5A1A171AE.DAT
[ ] connection string=
[ ] attributes=0x00000001
[ ] trying to open biometric session ...
[ ] trying to identify fingerprint sample ...
[ ] swipe the sensor to capture sample=#1
[ ] fingerprint matches an existing template
[ ] trying to lookup account sid ...
[ ] login=DOMW2K12R2\gilles.laurent
[ ] trying to get account info ...
[ ] user fullname=LAURENT Gilles
[ ] identity sid=S-1-5-21-846237167-9533278958-125345643-841624
[ ] freeing resources ...
[+] operation completed successfully

C:\Tools>echo %errorlevel%
0

C:\Tools>

L'échantillon d''empreinte digitale de l'utilisateur du domaine est présent dans la base de données du capteur. Le code de retour du résultat de l'opération est disponible via la variable d'environnement ErrorLevel.

Historique:

v1.0.0.1 - 20180121
                                - Première Release Publique

Plateformes supportées:

Windows 7 et versions supérieures
Microsoft Visual C++ 2013 Redistribuable x86 et x64

Usage:

FingerprintCapture [options]

Aide en ligne:

FingerprintCapture x64 v1.0.0.1 (c) 2018 Gilles LAURENT
Manages fingerprint samples captured by a biometric sensor
Usage : FingerprintCapture [options]
Options :

-capture [<file>]        Sends the sample as bitmap to clipboard or file
-detect                  Searches for available biometric sensors
-disenroll [<user> | *]  Removes the template from the database or all of them
-enroll                  Captures the sample and adds it to the database
-help | /? | -h          Shows this help screen
-identify                Checks whether the sample matches an existing template

Examples :

    FingerprintCapture -capture %temp%\fingerprintsample.bmp
    FingerprintCapture -enroll
    FingerprintCapture -identify

Téléchargement:

Guide PDF: -
Archive: FingerprintCapture.zip

 

Dernière mise à jour : ( 24-01-2018 )
 
Suivant >