APDU在mifare classic上写入块命令

Pla*_*ort 2 apdu nfc mifare

我一直在尝试将一些数据写入我的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我搜索为身份验证错误

我需要对每个部门进行身份验证吗?如果是这样,下一个和后续部门的命令是什么?

vik*_*kky 9

是的,你必须在读取/写入该扇区的块之前验证每个扇区.现在你执行验证命令并覆盖块3(扇区预告片),这意味着密钥和访问权限已经改变.

用于验证块的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(块号)

KeyID = 60/61(keyA为60,keyB为61)

KeyNo = 00(读者的密钥槽号)

FF 86 00 00 05 01 00 05 60 00