Skip to content
KitploitKITPLOIT
ToolsBlog
Log in
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
ft9201-libfprint — Linux-libfprint-Treiber für den Focal-systems FT9201 (2808:93a9) USB-Fingerabdruckleser — führt FocalTechs eigene Windows-Matching-Engine nativ unter Linux aus, kein Wine. Enthält eine Methode zum Portieren anderer Windows-Hello-only-Leser. | Kitploit
Tools/GitHubGitHub/omgrant/ft9201-libfprint
Embedded-System-SicherheitReverse EngineeringHardware-HackingHardware-SicherheitBinäranalyseAuthentifizierungFirmware-Analyse
GitHubomgrant/ft9201-libfprint

ft9201-libfprint

Linux-libfprint-Treiber für den Focal-systems FT9201 (2808:93a9) USB-Fingerabdruckleser — führt FocalTechs eigene Windows-Matching-Engine nativ unter Linux aus, kein Wine. Enthält eine Methode zum Portieren anderer Windows-Hello-only-Leser.

Repository anzeigen
21133vor 2 MonatenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

ft9201-libfprint

Linux-Fingerabdruckunterstützung für den Focal-systems FT9201 USB-Leser (2808:93a9, verkauft als eigenständiger Windows Hello-Dongle), als libfprint-Treiber.

Focal-systems FT9201 USB-Fingerabdruckleser

Der Sensor ist ein winziger 96×96 optischer Leser. Der eingebaute Matcher von libfprint liefert bei einem so kleinen Bild schlechte Ergebnisse, daher verwendet dieser Treiber stattdessen FocalTechs eigene Matching-Engine — die ftWbioEngineAdapter.dll aus ihrem signierten Windows-Treiber — und führt sie nativ unter Linux mit einem kleinen In-Prozess-PE-Lader. Kein Wine, kein Windows, keine Cloud.

Dieses Repository ist auch eine wiederverwendbare Methode, nicht nur ein einzelner Treiber. Die Technik — die Windows-Matching-Engine eines Herstellers nativ unter Linux auszuführen, ohne Wine — lässt sich auf andere „nur Windows Hello“-Lesegeräte verallgemeinern, einschließlich solcher mit einem SDCP-Sicherheitskanal (die Kryptosensoren der Synaptics/Goodix/ELAN/EgisTec-Klasse), über das optionale Modul src/crypto_shims.c. Der FT9201 ist das ausgearbeitete Beispiel; der In-Prozess-Lader, die WinBio-Brücke und die Krypto-Bypass-Schicht lassen sich auf das nächste Gerät übertragen. Siehe PORTING.md für die Schritt-für-Schritt-Methode und was unverändert übernommen werden kann.

Status

Funktioniert durchgängig auf echter Hardware: Registrieren und Verifizieren über fprintd / Befehlszeilenwerkzeuge und nach der Installation in KDE/GNOME. Es vergleicht Ihren Finger mit dem echten Algorithmus des Herstellers.

Entwickelt und getestet mit diesem speziellen Lesegerät (ASIN B0DK7LQZGH) — der FT9348W-Variante von 2808:93a9.

Einschränkungen:

  • Nur mit dieser FT9348W-Variante des 2808:93a9-Geräts getestet.
  • Der Matcher ist ein proprietäres Blob, das wir aufrufen; wir können keine Fehler darin beheben.
  • Nur x86-64 (die DLL und der Lader sind 64-Bit).

Wie es funktioniert (Kurzfassung)

  • Die USB-Initialisierungs- und Firmware-Boot-Sequenz wurde aus FocalTechs eigenen Treibern zurückentwickelt; die 8051-MCU-Firmware wird hochgeladen, dann startet eine spezifische Register-Konfigurationssequenz das Gerät.
  • Jeder Capture (96×96) wird auf die vom Motor erwarteten 64×80 zentriert zugeschnitten.
  • ft_engine.c ist ein etwa 450-zeiliger Lader, der ftWbioEngineAdapter.dll in den Speicher abbildet, die etwa 90 von ihr importierten kernel32-Funktionen bereitstellt, einen gefälschten Windows-TEB einrichtet und die WinBio-Schnittstelle des Motors für Registrierung/Verifizierung aufruft.
  • Der Lader bildet Code als lese-ausführbar und Daten als lese-schreibbar aus einer Datei im Speicher ab, sodass keine Seite jemals gleichzeitig beschreibbar und ausführbar ist. Das bedeutet, dass er unter der standardmäßigen MemoryDenyWriteExecute-Härtung von fprintd läuft — Sie müssen keine Sicherheitseinstellungen deaktivieren.

Siehe docs/how-it-works.md für die vollständige technische Beschreibung.

Voraussetzungen

Build-Werkzeuge + Build-Abhängigkeiten von libfprint. Auf Fedora/Nobara:

sudo dnf install git meson ninja-build gcc cabextract python3 \
     glib2-devel gusb-devel nss-devel pixman-devel gobject-introspection-devel \
     libgudev-devel systemd-devel

(Debian/Ubuntu: die Entsprechungen — libglib2.0-dev libgusb-dev libnss3-dev libpixman-1-dev libgudev-1.0-dev libsystemd-dev, plus cabextract.)

Build & Installation

git clone https://github.com/OMGrant/ft9201-libfprint
cd ft9201-libfprint
scripts/fetch-blobs.sh     # pull the vendor DLL + MCU firmware (see note below)
scripts/build.sh           # clone pinned libfprint, graft the driver in, build

Probieren Sie es ohne Installation aus:

FT9201_ENGINE_DLL=$PWD/blobs/ftWbioEngineAdapter.dll \
LD_LIBRARY_PATH=libfprint/build/libfprint \
libfprint/build/examples/enroll

Installieren Sie es für KDE/GNOME/Anmeldung (nebeneinander; die libfprint Ihrer Distribution bleibt unberührt, keine Härtung deaktiviert):

sudo scripts/install.sh
fprintd-enroll

Alles rückgängig machen: sudo scripts/install.sh --uninstall.

Die proprietären Blobs

Dieses Repository enthält keine proprietären Binärdateien. Zwei Dateien gehören FocalTech und werden zur Build-Zeit von scripts/fetch-blobs.sh aus vorhandenen öffentlichen Quellen abgerufen:

DateiWas es istWoher es kommt
ftWbioEngineAdapter.dlldie Matching-EngineFocalTechs signierter Windows-Treiber im Microsoft Update Catalog
FT9348W MCU-Firmware (src/ft9201_fw.h)8051-Firmware, die der Sensor ausführtextrahiert (Symbol FOCALFP_9348_FW_APP) aus dem öffentlichen ft9201-static Blob

Die Blobs manuell beschaffen

Falls einer der Download-URLs nicht mehr funktioniert, benötigen Sie nur diese beiden Dateien:

  • ftWbioEngineAdapter.dll — durchsuchen Sie den Microsoft Update Catalog nach "FocalTech Electronics Biometric" (Treiber 1.0.3.58, passt zur Hardware-ID USB\VID_2808&PID_93A9). Laden Sie die .cab herunter, extrahieren Sie sie mit cabextract und legen Sie ftWbioEngineAdapter.dll in blobs/ ab.
  • MCU-Firmware — besorgen Sie sich eine beliebige Kopie des FocalTech Linux libfprint-Blobs, das das Symbol FOCALFP_9348_FW_APP enthält (z. B. aus ft9201-static) und führen Sie python3 scripts/extract-firmware.py <diese-libfprint-2.so> src/ft9201_fw.h aus.

Führen Sie dann erneut scripts/build.sh aus.

Danksagungen

  • USB-Protokoll ursprünglich zurückentwickelt von banianitc/ft9201-fingerprint-driver.
  • Firmware und die Init-/Boot-Sequenz wurden mit FocalTechs Linux-Blob über mrrbrilliant/ft9201-static abgeglichen.
  • Basierend auf libfprint.

Die wiederverwendbare Methode und der Kryptosensor-Pfad bauen zusätzlich auf der Arbeit dieser Personen auf:

  • uunicorn — dessen synaWudfBioUsb-sandbox und Wine-Fork die Umgebung zum Verfolgen eines Windows-Biometrietreibers eines Herstellers unter Wine sind, wodurch das Befehlsprotokoll eines Kryptosensors ohne eine Windows-Box wiederhergestellt wird.
  • Marco Trevisan (3v1n0), ein libfprint-Maintainer — der den Weg zu diesem Wine-Tracing-Ansatz wies und dessen Bestreben, libfprints eigenes Matching zu verbessern, den Rahmen dafür liefert, warum der Hersteller-Matcher-Weg überhaupt existiert.
  • championswimmer/libfprint-eh577 — Vorarbeit für die EgisTec EH577-Sensorfamilie.

Andere Möglichkeiten, einen FT9201 unter Linux zu betreiben

Dies ist nicht der einzige Ansatz — die Alternativen unterscheiden sich hauptsächlich darin, wie sie FocalTechs Matcher wiederverwenden (das tun sie alle; der winzige Sensor schließt generisches Matching aus).

Tool herunterladen