Mifare Classic Tool (MCT) 完整教程
目录
- 引言:什么是 Mifare Classic Tool?
- 准备工作:你需要什么?
- 界面概览:MCT 的主要功能模块
- 核心操作详解
- 第一步:连接读卡器
- 第二步:读取卡数据
- 第三步:分析卡片
- 第四步:克隆/写入卡片
- 第五步:修复卡片
- 实战案例:从读取到克隆
- 重要提示与注意事项
- 常见问题解答 (FAQ)
引言:什么是 Mifare Classic Tool?
Mifare Classic Tool (MCT) 是一款在 Android 手机上运行的开源应用程序,专门用于与 Mifare Classic (通常称为 M1 卡) 交互,M1 卡是一种广泛用于门禁卡、交通卡、会员卡、饭卡等场景的非接触式智能卡。

MCT 的强大之处在于它允许你:
- 读取 卡片的完整数据。
- 克隆(复制)一张卡片到另一张空卡。
- 分析 卡片的扇区、块、密钥和访问条件。
- 修复 因操作不当(如写错密钥)而被锁死的卡片。
- 模拟 卡片(需要 Root 权限和特殊模块)。
注意: MCT 仅支持 Mifare Classic (Classic 1K, 4K, Mini) 卡片,不支持 新的 Mifare DESFire 或 Ultralight 卡片。
准备工作:你需要什么?
在使用 MCT 之前,请确保你拥有以下物品:
-
一部 Android 手机:
(图片来源网络,侵删)- 系统版本建议 Android 5.0 (Lollipop) 或更高。
- 必须支持 NFC 功能,几乎所有近几年的中高端 Android 手机都支持。
- 需要开启“开发者选项”和“USB 调试”,这是 MCT 能够通过 USB 连接并操作 NFC 芯片的关键步骤。
-
一个 NFC 读卡器/写入器:
- 推荐使用基于 PN532 芯片的 USB 读卡器,这是最稳定、兼容性最好的选择,Adafruit PN532, Proxmark3 RDV4.0 (功能强大但价格昂贵), 或市面上常见的 Mifare Classic 读写器。
- 将读卡器通过 USB OTG 线连接到你的 Android 手机。
-
至少两张 Mifare Classic 卡片:
- 源卡 (Source Card): 你想要复制的数据来源卡片。
- 目标卡 (Destination Card / 空白卡): 你将要数据写入的卡片,这张卡片必须是未初始化的空白 Mifare Classic 卡,或者是一张你愿意覆盖数据的卡片,普通超市会员卡、部分门禁卡可以作为空白卡使用。
界面概览:MCT 的主要功能模块
打开 MCT,你会看到以下主要功能按钮:
- Read Card: 读取当前卡片的数据,生成一个
.bin文件。 - Write Card: 将一个
.bin文件写入到目标卡片中。 - Clone Card: 克隆卡片,会自动完成读取和写入两个步骤。
- Analyze Card: 分析卡片的安全信息,如扇区密钥和访问权限。
- Restore Card: 修复或恢复一张可能被锁死的卡片。
- Import/Export: 导入或导出
.bin文件,方便管理和分享。 - NFC Emulation: 模拟一张卡片(需要 Root 权限)。
核心操作详解
第一步:连接读卡器
- 将 USB NFC 读卡器通过 OTG 线连接到手机。
- 打开 MCT。
- 如果连接成功,界面上的状态通常会显示为 "PN532 connected" 或类似的提示,如果连接失败,请检查:
- OTG 线是否插好。
- 手机是否开启了 USB 调试模式。
- 读卡器是否被手机正确识别(可以在手机的 USB 连接设置中查看)。
第二步:读取卡数据
这是所有操作的基础。

- 点击 Read Card 按钮。
- 将你的源卡放在读卡器感应区上。
- MCT 会自动开始读取卡片的所有数据,读取过程可能需要几十秒。
- 读取完成后,会弹出一个窗口,让你保存文件,文件名建议命名为有意义的名称,
door_access.bin。 - 这个
.bin文件就是这张卡片的完整镜像,包含了所有 16 个扇区(对于 1K 卡)的数据和密钥信息。
第三步:分析卡片
当你拿到一张陌生的卡片,或者想知道一张卡片的安全性时,这个功能非常有用。
- 点击 Analyze Card 按钮。
- 将卡片放在读卡器上。
- MCT 会尝试读取每个扇区的信息,它有两个模式:
- 使用已知密钥分析: 如果你之前导入过密钥文件(
.key),它会使用这些密钥去尝试破解扇区。 - 暴力破解/字典攻击: 如果没有已知密钥,你可以使用内置的默认密钥列表(如
FFFFFFFFFFFF,000000000000,A0A1A2A3A4A5等)进行尝试,这是一个非常耗时的过程,成功率取决于卡片的安全设置。
- 使用已知密钥分析: 如果你之前导入过密钥文件(
- 分析结果会以表格形式展示,清晰地列出每个扇区的:
- Block 0, 1, 2, 3 的数据。
- Key A 和 Key B 的值(如果成功破解)。
- 访问条件字节,决定了哪些密钥可以读写,以及哪些操作被允许。
第四步:克隆/写入卡片
这是最常用的功能,用于复制卡片。
使用 Clone 功能(推荐)
- 点击 Clone Card 按钮。
- 第一步(读取): 将源卡放在读卡器上,等待读取完成。
- 第二步(写入): 读取完成后,MCT 会提示你移开源卡,然后将目标空白卡放在读卡器上,等待写入完成。
- 成功后,你的目标卡就变成了一张和源卡一模一样的卡片。
使用 Read + Write 功能
- 先使用 Read Card 读取源卡,得到
source_card.bin文件。 - 点击 Write Card 按钮。
- 在弹出的文件选择器中,选择你刚刚保存的
source_card.bin文件。 - 将目标空白卡放在读卡器上,等待写入完成。
关键点:
- 目标卡必须是 Mifare Classic 1K 卡,并且扇区数量和布局要与源卡一致,不能用 4K 卡去克隆 1K 卡的数据。
- 写入过程会完全覆盖目标卡上原有的所有数据,请确保使用的是空白卡或可牺牲的卡片。
第五步:修复卡片
如果你不小心用错误的密钥向一个扇区写入了数据,可能会导致该扇区被“锁死”,无法再被读取或写入,这时就需要修复。
- 点击 Restore Card 按钮。
- 将被锁死的卡片放在读卡器上。
- MCT 会尝试修复,修复的原理通常是利用 Mifare Classic 协议中的一个漏洞,将卡片的某个扇区恢复到出厂初始状态。
- 注意: 修复操作不是万能的,它有成功率限制,并且可能会永久损坏卡片。请谨慎操作!
实战案例:从读取到克隆
假设你想复制一张办公室的门禁卡。
- 准备: 手机、PN532 读卡器、源门禁卡、一张空白 Mifare Classic 卡。
- 连接: 将读卡器连接手机,打开 MCT,确认连接成功。
- 读取:
- 点击 Clone Card。
- 将源门禁卡贴近读卡器。
- 等待 MCT 提示“Reading successful!”。
- 写入:
- 根据提示,移开源卡,将空白卡贴近读卡器。
- 等待 MCT 提示“Writing successful!”。
- 验证:
