Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
RFIDIOt — 用于探索 RFID/NFC 标签和读卡器的 Python 库与工具:可对受支持的 ACG 串行硬件进行读取、写入、克隆和分析,以供研究和安全测试使用。 | Kitploit
工具/GitHubGitHub/adamlaurie/rfidiot
嵌入式系统安全物联网安全RFID/NFC工具无线安全硬件黑客硬件安全硬件与物联网安全RFID/NFC工具 分类第 16 名
GitHubadamlaurie/rfidiot

RFIDIOt

用于探索 RFID/NFC 标签和读卡器的 Python 库与工具:可对受支持的 ACG 串行硬件进行读取、写入、克隆和分析,以供研究和安全测试使用。

1.1k240673天前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
查看仓库网站

/* RFIDIOt.py - RFID IO tools for python *

  • Adam Laurie [email protected]
  • http://rfidiot.org/
  • This code is free software; you can redistribute it and/or modify
  • it under the terms of the GNU General Public License as published by
  • the Free Software Foundation; either version 2 of the License, or
  • (at your option) any later version.
  • This code is distributed in the hope that it will be useful,
  • but WITHOUT ANY WARRANTY; without even the implied warranty of
  • MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  • GNU General Public License for more details. */

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? 答:一套用 python 编写的、用于探索 RFID/NFC 技术的工具和库集合。

问:为什么叫 RFIDIOt? 答:我喜欢无聊的双关语。另外,我是从一个白痴的视角来做这件事的: 我对 RFID 标签一无所知,对 python 更是知之甚少。因此,我刚开始时 觉得自己完全是个白痴。:)

问:我该如何贡献? 答:给我发补丁、信息、新工具、咖啡、钱、毒品和/或一首 Miles Davis 的歌 :)

问:支持哪些硬件? 答:

  • libnfc 读卡器(基于 PN53x:ACR122U、SCL3711 等)——使用 '-R READER_LIBNFC' 或 '-f ',并用 '-N' 列出它们。libnfc 必须单独安装。
  • 通过 pyscard + pcscd 使用 PC/SC 读卡器('-R READER_PCSC',自动检测 子类型:ACS / OMNIKEY / SCM)。这是默认方式。T=0 和 T=1 卡 均受支持。注意:OMNIKEY CardMan 5321 的接触式插槽可与 开源的 libccid 驱动配合使用,但其非接触式(13.56 MHz)接口需要 HID 的 专有 OMNIKEY 驱动(ifdokccid)——libccid 只暴露接触式 插槽。安装 HID 驱动后,非接触式接口会显示为 第二个 PC/SC 插槽,即读卡器索引 1('-r 1')。
  • 原始的 ACG 和 Frosch 串口读卡器('-R READER_ACG' / '-R READER_FROSCH', 通过 '-l' 指定串口,例如 /dev/ttyUSB0)。 各型号的启动命令(SCL3711、ACR122U / Touchatag、 ACR122U-WB-R 通过 '-f ccid'、OMNIKEY 5321、Chameleon Ultra 等)请参见 docs/readers.md。 用 '-h' 运行任意工具可查看完整的选项列表。

问:我该如何安装? 答: 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 工作(使用标准选项选择读卡器——例如 libnfc 用 '-f 0', PC/SC 非接触插槽用 '-r 1')。它会遍历卡片(PPSE -> AID -> GPO -> 记录),解码 EMV BER-TLV(AIP、AFL、CVM 列表、CDOL/DDOL、拆分为 PAN / 有效期 / 服务代码的 Track 2、加密信息等),并读取卡片的交易日志 (每条记录的金额 / 日期 / 时间 / 货币 / ATC)。使用 '-c' 时,它会执行完整的 离线数据认证——恢复 CA -> 发卡行 -> ICC 证书链 (内置 26 个方案 CA 密钥表:Visa、Mastercard、Amex、CB、JCB、Discover、 UnionPay、RuPay,每个都对照其 EMVCo CAPK 校验和进行检查),然后按卡片支持的 任一方法验证卡片签名:

  • SDA - 签名静态应用数据(标签 93)
  • DDA - 使用随机挑战进行 INTERNAL AUTHENTICATE(接触式)
  • fDDA - GPO 中返回的快速 DDA 签名(非接触式)
  • CDA - 与加密信息结合的签名('-g' 发送 GENERATE AC; 侵入式——它会递增卡片的 ATC) 配套/别名应用(例如 LINK)在主方案的 CA 下验证。恢复过程 可自我验证,因此错误或缺失的密钥会干净地失败。不带 PIN 参数运行可保持只读;带 PIN 参数会发送离线 VERIFY(明文, 或使用 '-E' 进行 RSA 加密),这会更新 PIN 尝试计数器。

mrpkey.py 读取电子护照,passiveauth.py 针对公共 CSCA 主列表执行被动认证 (数据组完整性 + DS/CSCA 信任),将护照标记为 SAFE / TAMPERED / UNTRUSTED。rfidiot-cli.py 也可读取非接触式 EMV。

q: 那么这里究竟有什么? a: 请参阅 http://www.rfidiot.org/documentation.html

下载工具