Mifare Classic 1k - 错误功能ReadBlock

时间:2013-01-15 22:01:58

标签: android nfc mifare

我正在创建一个允许我读取不同标签数据的应用程序。我目前正在使用代码Mifare Classic 1k

为了验证我的数据读数是否正确,我使用官方应用程序NXP并发现数据解释存在一些差异。

在我的代码中,我使用ReadBlock读取每个扇区中的所有块。除了每个扇区的第3个块之外,所有数据都被正确读取。事实上,根据NXP,它看起来应该是这样的:ffffffffffffff078069ffffffffffff,但我的应用程序会读取以下块:0000000000000000078069ffffffffffff。我不知道它是Nxp的应用程序错误还是什么,但当我读取块时,我使用的函数已经存在并且不是由我创建的。

有人可以给我澄清吗?

1 个答案:

答案 0 :(得分:2)

当您读取扇区尾部(即扇区的最后一个块)时,密钥A的内容将始终作为全零返回。当键B被设置为不可读时,它也适用。 (但是,因为您能够读取该块,所以您知道了密钥,因此您可以获得芯片中实际存储的内容。)