RFID-Lab
rfidLab ist eine Software zum Experimentieren mit RFID-Tags. Es können die Speicherinhalte von Mifare-Classic und Mifare-Ultralight editiert werden. Das schließt auch die Lock bzw. Accessbits ein. Die Bits können menügeführt editiert werden. Für Mifare-Classic Karten wird eine Schlüsseldatenbank mitgeführt die für jede Karte die Schlüssel und die Accessbits speichert. Wird die Karte später editiert weiß das Programm genau welcher Schlüssel zu welchem Sektor passt. Auch T=CL wurde nicht vergessen: An kontaktlose T=CL Smartcards können beliebige Kommandos gesendet werden, entweder direkt oder per Skript. Zur Fehlererkennung kann im Skript auch das zu erwartende Statuswort hinterlegt werden. So kann geprüft werden ob das Komando auch richtig verarbeitet wurde. Im Fehlerfall wird das Skript dann abgebrochen. Das Programm kann auch dazu verwendet werden versteckte Tags aufzuspühren und Tags bei denen der Typ unbekannt ist zu identifizieren. Das gesamte Programm ist menügeführt und kann auch von Benutzern bedient werden die weniger Erfahrung im Umgang mit RFID haben. Vorraussetzung ist eine installierte librfid, libnfc und libcodebananas. Es werden verschiedene RFID-Terminals unterstützt. Ich empfehle allerdings nach wie vor librfid und openPCD da nur mit librfid alle features von rfidLab auch genutzt werden können.
Download der aktuellen Version:
Die jeweils aktuellste Version kann hier heruntergeladen werden. Bitte beachten Sie die Lizenzbestimmungen (GNU-GPL V2.0, siehe License.txt)
Features:
-Editieren von Mifare-Classic Transpondern
-Editieren von Mifare-Ultralight Transpondern
-Zugriff auf T=CL Smartcards
-Identifikation von unbekannten Transpondern
-Aufspühren von versteckten Transpondern
Unterstützte Terminals:
-openPCD
-omnikeyCardman 5120
-Elektor-RFID-Reader
-trf7960ebm (mit gepatchter firmware)
-acr122 (und andere libnfc kompatible)
-Pegoda (mit libMyPegoda)
Unterstützte Systeme:
-Linux
Hinweise zur Installation:
Auf dem Zielsystem wird eine funktionierende Installation der libcodebananas (Downloadbar auf dieser Seite) und eine funktionierende librfid Installation benötigt.
Leider ist die Installation der librfid nicht ganz unproblematisch. Ich habe sehr gute Erfahrungen mit der auf der openmrtd-webseite angebotenen Version 0.2.0 und dem dumbreader firmwareimage von openpcd.org gemacht. Allerdings habe ich auch hier auf zwei unterschiedlichen Rechnern unterschiedlich gute Ergebnisse gehabt. Es ist zu empfehlen auf jeden Fall erstmal mit den librfid eigegenen Tools erstmal zu testen ob das Setup überhaupt funktioniert. Leider ist die librfid ein ziemlich heißes Eisen. Man sollte sich über gelegentliche segmentation-faults nicht wundern.
openpcd.org -- openPCD RFID Terminal
openmrtd.org -- Librfid
Weiterhin werden noch libnfc und libMyPegoda (siehe unten) benötigt. Sind diese Libs im System nicht vorhanden kann rfidLib weder kompiliert werden noch ist es dann lauffähig.
libMyPegoda
Für den Pegoda-support in rfidLab habe ich aus den Programmieransätzen die ich im librfid-repository gefunden habe eine kleine statische Library zusammengestellt, die auch sehr praktisch für eigene Pegoda-Projekte sein kann. Die Library muss im System vorhanden sein um rfidLab kompilieren zu können. Die Originalquelltexte die ich verwendet habe können unter
http://svn.gnumonks.org/trunk/librfid/pegoda/ eingesehen werden und die Library selbst gibt es hier: