
Библиотека Python и инструменты для изучения RFID/NFC-меток и считывателей: чтение, запись, клонирование и анализ поддерживаемого последовательного оборудования ACG для исследований и тестирования безопасности.
/* RFIDIOt.py - RFID IO tools for python *
Copyright (c) 2006-2026 Adam Laurie [email protected]
*** Это версия RFIDIOt для Python 3. ***
Запускайте всё через python3. Оригинальный код для Python 2.7 сохранён в ветке 'python2.7' и помечен тегом 'v1.0-python2.7' — он не будет работать под python3, а эта версия не будет работать под python2.
Огромная благодарность Питу Шипли (Pete Shipley, evilpete), который выполнил основную часть портирования на Python 3 и внёс большой вклад в ветку python3, которая стала этим релизом.
в: Что такое RFIDIOt? о: Набор инструментов и библиотек для исследования технологии RFID/NFC, написанный на python.
в: Зачем RFIDIOt? о: Мне нравятся глупые каламбуры. Кроме того, я подхожу к этому с точки зрения идиота: я ничего не знаю о RFID-метках и ещё меньше о python. Поэтому, начиная, я чувствовал себя полным идиотом. :)
в: Как я могу внести вклад? о: Присылайте мне патчи, информацию, новые инструменты, кофе, деньги, наркотики и/или песню Майлза Дэвиса :)
в: Какое оборудование поддерживается? о:
в: Как его установить? о: pip install -r requirements.txt # pycryptodome, pyscard, Pillow, ... (passiveauth использует openssl CLI) sudo python3 ./setup.py install Системные пакеты: установите libnfc для считывателей libnfc; для считывателей PC/SC установите демон и драйвер CCID и убедитесь, что демон запущен, например в Debian/ Ubuntu: sudo apt install pcscd libccid pcsc-tools Некоторым инструментам нужны дополнительные компоненты: mrpkey.py использует PIL/Pillow для отображения фотографий из паспорта и openssl для работы с сертификатами; jcoptool.py требует pyasn1.
в: Есть ли что-то новое в версии для Python 3? о: Помимо самого портирования:
ChAP.py ("Chip And PIN") — это бесконтактный/контактный считыватель EMV, работающий как через PC/SC, так и через libnfc (выбор считывателя стандартными опциями — например, '-f 0' для libnfc, '-r 1' для бесконтактного слота PC/SC). Он обходит карту (PPSE -> AID -> GPO -> записи), декодирует EMV BER-TLV (AIP, AFL, список CVM, CDOL/DDOL, Track 2, разделённый на PAN / срок действия / сервисный код, информацию криптограммы и т. д.) и читает журнал транзакций карты (сумма / дата / время / валюта / ATC для каждой записи). С '-c' он выполняет полную офлайн-аутентификацию данных — восстанавливает цепочку сертификатов CA -> Issuer -> ICC (встроенная таблица из 26 ключей CA платёжных схем: Visa, Mastercard, Amex, CB, JCB, Discover, UnionPay, RuPay, каждый проверяется по контрольной сумме EMVCo CAPK), а затем проверяет подпись карты тем методом, который поддерживает карта:
mrpkey.py читает ePassports, а passiveauth.py выполняет Passive Authentication (целостность групп данных + доверие DS/CSCA) по публичному мастер-списку CSCA, помечая паспорт как SAFE / TAMPERED / UNTRUSTED. rfidiot-cli.py также читает бесконтактные EMV.
q: Так что именно здесь есть? a: Пожалуйста, смотрите http://www.rfidiot.org/documentation.html