我遇到了Mifare Standard 1k卡的问题。我在地址为62的数据块上创建了一个值块(00000001FFFFFFFE0000000100FF00FF
- 有效?)。值块的值应该是1,值块的地址是0。
我已将数据块2的访问位更改为:
其他2个数据块具有工厂访问位。扇区预告片的访问位也改变了:
那么,相应扇区(第16个扇区)的访问位是3B478C69
(有效吗?)。
问题是我不能对该块执行任何值块特定功能(递增,递减等),我总是得到6A81
作为响应 - > “卡被阻止或命令不受支持”。
我正在使用的APDU是FFF5C13E0400000001
。
答案 0 :(得分:5)
OMNIKEY读者可以使用非接触式存储卡的PC / SC API扩展。这些扩展为MIFARE Classic值块的递增和递减定义的命令是:
<强>增量:强>
+------+------+------+------+------+-------------+ | CLA | INS | P1 | P2 | Lc | DATA | +------+------+------+------+------+-------------+ | 0xFF | 0xD4 | BLOCK# | 0x04 | XX 00 00 00 | +------+------+------+------+------+-------------+
或(取决于固件版本???)具有1字节数据字段的相同命令:
+------+------+------+------+------+----+ | 0xFF | 0xD4 | BLOCK# | 0x01 | XX | +------+------+------+------+------+----+
<强>递减:强>
+------+------+------+------+------+-------------+ | CLA | INS | P1 | P2 | Lc | DATA | +------+------+------+------+------+-------------+ | 0xFF | 0xD8 | BLOCK# | 0x04 | XX 00 00 00 | +------+------+------+------+------+-------------+
或(取决于固件版本???)具有1字节数据字段的相同命令:
+------+------+------+------+------+----+ | 0xFF | 0xD8 | BLOCK# | 0x01 | XX | +------+------+------+------+------+----+
BLOCK#: P1是块编号的MSB(始终为零),P2是块编号的LSB。
XX 的 增量/减量值。
这些命令记录在OMNIKEY Contactless Smart Card Readers Developer Guide。
中似乎两个命令都隐式发出传输命令来提交操作。没有记录PC / SC扩展的恢复命令,但是,恢复命令可通过OMNIKEY同步API获得。