读写MIFARE卡时出现问题

时间:2015-06-04 15:53:20

标签: authentication nfc mifare contactless-smartcard lib-nfc

当我想要读取或写入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仍然说认证失败

1 个答案:

答案 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扇区。