nfc-mfclassic是Kali Linux中一款用于操作Mifare经典系列主要是Mifare 1K非接触式智能卡的工具。它支持对Mifare卡片进行读取、写入、格式化等操作广泛应用于NFC卡片的研究与测试场景。通过该工具用户可以与Mifare卡片进行数据交互包括获取卡片数据、写入自定义数据或重置卡片等操作。命令参数说明参数类别选项说明操作模式f执行格式化操作会将所有密钥重置为FFFFFFFFFFFF所有数据重置为00所有访问控制列表恢复为默认值r从卡片读取数据R无锁读取不需要认证会显示A和B密钥仅适用于特殊的Mifare 1K卡片如中国克隆卡w向卡片写入数据W无锁写入会尝试覆盖包括UID在内的块0仅适用于特殊的Mifare 1K卡片如中国克隆卡密钥类型a使用A密钥进行操作遇到错误时停止A使用A密钥进行操作容忍错误b使用B密钥进行操作遇到错误时停止B使用B密钥进行操作容忍错误UID设置u使用任意UIDU01ab23cd专门指定一个UID格式为U后跟十六进制数值如U01ab23cd文件参数dump.mfd用于写入从卡片到MFD文件或读取从MFD文件到卡片的MiFare转储文件MFDkeys.mfd包含密钥的MiFare转储文件可选强制选项f即使UID不匹配也强制使用密钥文件可选使用教程1. 读取卡片数据到文件使用A密钥nfc-mfclassic r a u mycard.mfd该命令会使用A密钥读取卡片数据并将读取到的数据保存到mycard.mfd文件中使用任意UID进行操作。2. 向空白卡片写入文件数据使用A密钥nfc-mfclassic w a u mycard.mfd此命令利用A密钥将mycard.mfd文件中的数据写入到空白卡片使用任意UID。3. 向已写入数据的卡片写入新数据和/或密钥使用A密钥nfc-mfclassic w a u newdata.mfd mycard.mfd该操作使用A密钥将newdata.mfd中的新数据和/或密钥写入到之前已写入数据的卡片mycard.mfd作为包含原有信息的文件。4. 格式化/擦除卡片注意需要两次操作以确保覆盖所有访问控制列表情况nfc-mfclassic f A u dummy.mfd keyfile.mfd f nfc-mfclassic f B u dummy.mfd keyfile.mfd f这两条命令用于格式化或擦除卡片。第一条使用A密钥第二条使用B密钥dummy.mfd为转储文件keyfile.mfd为密钥文件f选项强制使用密钥文件。5. 读取卡片数据到文件使用A密钥和指定UID 0x01 0xab 0x23 0xcdnfc-mfclassic r a U01ab23cd mycard.mfd该命令使用A密钥和指定的UID0x01 0xab 0x23 0xcd读取卡片数据并保存到mycard.mfd文件。