我一直在尝试将一些数据写入我的mifare经典卡片。首先我发送这两个返回90 00的命令:
加载Mifare键:
FF 82 20 01 06 FF FF FF FF FF FF
身份验证
FF 86 00 00 05 01 00 01 60 01
现在我可以将命令写入扇区0和块1 + 2
ff d6 00 01 10 14 01 03 E1 03 E1 03 E1 03 E1 03 E1 03 E1 03 E1
ff d6 00 02 10 03 E1 03 E1 03 E1 03 E1 03 E1 03 E1 03 E1 03 E1
我错误地覆盖了第3块,几次使这个扇区看起来不可读:
如果我发送命令 ff d6 00 04 10我得到了返回错误69 82我用Google搜索了身份验证错误
我需要对每个部门进行身份验证吗?如果是这样,下一个和后续部门的命令是什么?
答案 0 :(得分:9)
是的,您必须在读取/写入该扇区块之前对每个扇区进行身份验证。现在您已执行Authentication命令并覆盖块3(扇区预告片),这意味着密钥和访问权限已更改。< / p>
用于验证块的APDU: -
验证块的APDU格式应采用以下格式。
CLA + INS + P1 + P2 + Lc +(版本+ AddMSB + AddLSB + KeyID + KeyNumber)
例如: -
CLA = FF
INS = 86
P1 = 00
P2 = 01(身份验证的块号)
Lc = 05(数据字段长度)
数据字段=版本+ AddMSB + AddLSB + KeyId + KeyNumber
版= 01
AddMSB = 00
AddLSB = 05(Block Number)
KeyID = 60/61(keyA为60,keyB为61)
KeyNo = 00(读者的密钥槽位数)
FF 86 00 00 05 01 00 05 60 00