当我想要读取或写入MIFARE Classic卡时,我得到以下输出:
_en-,en
有什么想法吗?
感谢Michael的回答,但那也没有用 这是输出:
nfc-mfclassic r a mfoc_output.mfd NFC reader: ACS / ACR122U PICC Interface opened Found MIFARE Classic card: ISO/IEC 14443A (106 kbps) target: ATQA (SENS_RES): 00 04 UID (NFCID1): 04 9f 30 b2 SAK (SEL_RES): 08 Guessing size: seems to be a 1024-byte card Reading out 64 blocks |nfc_initiator_transceive_bytes: Mifare Authentication Failed nfc_initiator_transceive_bytes: Mifare Authentication Failed nfc_initiator_transceive_bytes: Mifare Authentication Failed nfc_initiator_transceive_bytes: Mifare Authentication Failed nfc_initiator_transceive_bytes: Mifare Authentication Failed nfc_initiator_transceive_bytes: Mifare Authentication Failed nfc_initiator_transceive_bytes: Mifare Authentication Failed ! failed to read trailer block 0x3f
问题是我丢失了密钥文件,现在我无法写入或读取该标记,我正在尝试使用mfoc生成密钥文件但是在将密钥转储到文件后,nfc-mfclassic仍然说认证失败
答案 0 :(得分:1)
nfc-mfclassic r a mfoc_output.mfd mfoc_output.mfd
您正在使用文件mfoc_output.mfd
作为转储卡内容的目标文件,并将其作为密钥材料的源文件来访问卡的扇区。通常这不是您想要的,因为这会覆盖您的密钥文件。
Expected MIFARE Classic card with UID starting as: 00000000 Got card with UID starting as: 049f30b2 Aborting!
这里的问题是您的密钥文件(由第二个文件名指定)以字节00 00 00 00
开头。但是,nfc-mfclassic
检查该文件是否以MIFARE CLassic标记的UID的前4个字节开头,如果它们不匹配则将中止转储过程。
如果同时使用文件mfoc_output.mfd
,目标文件和密钥文件就是您想要的,您可以编辑文件以使用标记UID的前4个字节开始(即使用{{ 1}}),或者您可以通过指定“force”参数强制04 9f 30 b2
无论如何使用该文件:
nfc-mfclassic
如果您不想使用 nfc-mfclassic r a mfoc_output.mfd mfoc_output.mfd f
作为密钥文件,则只需使用
mfoc_output.mfd
相反,它会尝试使用一组默认/众所周知的密钥来访问MIFARE扇区。