
Bibliothèque Python et outils pour explorer les étiquettes et lecteurs RFID/NFC : lire, écrire, cloner et analyser le matériel série ACG pris en charge pour la recherche et les tests de sécurité.
/* RFIDIOt.py - outils d'E/S RFID pour python *
Copyright (c) 2006-2026 Adam Laurie [email protected]
*** Ceci est la version Python 3 de RFIDIOt. ***
Exécutez tout avec python3. Le code Python 2.7 d'origine est conservé sur la branche 'python2.7' et étiqueté 'v1.0-python2.7' - il ne fonctionnera pas sous python3, et cette version ne fonctionnera pas sous python2.
Avec de grands remerciements à Pete Shipley (evilpete), qui a réalisé l'essentiel du portage vers Python 3 et a grandement contribué à la branche python3 devenue cette version.
q : Qu'est-ce que RFIDIOt ? r : Une collection d'outils et de bibliothèques pour explorer la technologie RFID/NFC, écrite en python.
q : Pourquoi RFIDIOt ? r : J'aime les jeux de mots stupides. Aussi, j'aborde cela d'un point de vue d'idiot : je ne connais rien aux tags RFID, et encore moins à python. Ainsi, je me sentais un parfait idiot quand j'ai commencé. :)
q : Comment puis-je contribuer ? r : Envoyez-moi des patches, des infos, de nouveaux outils, du café, de l'argent, des drogues et/ou une chanson de Miles Davis :)
q : Quel matériel est pris en charge ? r :
q : Comment l'installer ? r : pip install -r requirements.txt # pycryptodome, pyscard, Pillow, ... (passiveauth utilise l'outil en ligne de commande openssl) sudo python3 ./setup.py install Paquets système : installez libnfc pour les lecteurs libnfc ; pour les lecteurs PC/SC installez le démon et le pilote CCID et assurez-vous que le démon est en cours d'exécution, par ex. sur Debian/ Ubuntu : sudo apt install pcscd libccid pcsc-tools Certains outils ont des besoins supplémentaires : mrpkey.py utilise PIL/Pillow pour afficher les photos de passeport et openssl pour la gestion des certificats ; jcoptool.py nécessite pyasn1.
q : Y a-t-il du nouveau dans la version Python 3 ? r : Outre le portage lui-même :
ChAP.py (« Chip And PIN ») est un lecteur EMV sans contact/avec contact qui fonctionne à la fois sur PC/SC et libnfc (choisissez le lecteur avec les options standard - par ex. '-f 0' pour libnfc, '-r 1' pour un emplacement sans contact PC/SC). Il parcourt la carte (PPSE -> AID -> GPO -> enregistrements), décode le BER-TLV EMV (AIP, AFL, liste CVM, CDOL/DDOL, Track 2 découpé en PAN / date d'expiration / code de service, informations de cryptogramme, etc.) et lit le journal des transactions de la carte (montant / date / heure / devise / ATC par entrée). Avec '-c', il effectue une authentification complète des données hors ligne - il récupère la chaîne de certificats CA -> Émetteur -> ICC (une table intégrée de 26 clés CA de réseaux : Visa, Mastercard, Amex, CB, JCB, Discover, UnionPay, RuPay, chacune vérifiée par rapport à sa somme de contrôle CAPK EMVCo) puis vérifie la signature de la carte par la méthode prise en charge par celle-ci :
mrpkey.py lit les ePassports et passiveauth.py effectue l'Authentification Passive (intégrité des groupes de données + confiance DS/CSCA) par rapport à une liste maîtresse CSCA publique, signalant un passeport SAFE / TAMPERED / UNTRUSTED. rfidiot-cli.py lit également les cartes EMV sans contact.
q: Alors, qu'y a-t-il exactement ici ? a: Veuillez consulter http://www.rfidiot.org/documentation.html