如何获取MIFARE DESFire EV1卡的可用内存?我知道一些Android应用程序显示可用内存。那么是否有任何APDU命令来获取可用内存?
答案 0 :(得分:3)
您可以使用GetVersion命令获取总内存大小:
<-- 90 60 0000 00 --> ZZ YY XX WW VV TT SS 91AF <-- 90 AF 0000 00 --> ZZ YY XX WW VV TT SS 91AF <-- 90 AF 0000 00 --> UUUUUUUUUUUUUU NNNNNNNNNN WW YY 9100
其中SS是存储大小,可以解码为
int storageBytes = 1 << ((int)SS & 0x0FE) >>> 1);
bool storageExact = ((int)SS & 0x01) != 0;
最低位表示指示的存储大小(以字节为单位)是否为精确值,或者实际存储大小是否在storageBytes
和storageBytes * 2
之间。
您还可以使用FreeMem命令获取可用的可用内存(以字节为单位):
<-- 90 6E 0000 00 --> SSSSSS 9100