1

我正在修补这个开源 Android 应用程序(Mifare Classic Tool),它可以读写 Mifare Classic RFID(16 个扇区,每个 4 个块)。

我通过每块发送 16 个字符向单个扇区发送 48 个字符的整个字符串,以及向所有可供用户写入的扇区发送相同的 48 个字符的字符串,成功地对其进行了修补上。然而,当我试图让用户写一个长字符串,将它切割成 48 个字符并将其分配到各个扇区时,我很惊讶所有可写扇区现在都消失了,无法读取,只剩下扇区 0(保留用于制造商数据)可用。

我知道我损坏了我拥有的 RFID,并且我可能无意中写入了 Block 3(为 Key A 和 B 以及访问条件保留),我知道这种损坏可能是无法弥补的。

但是,如果我确实写了第 3 块,那是不是意味着我可能已经更改了密钥和访问条件?有谁知道在Android中蛮力使用Mifare Classic RFID的方法,以便我可以取回钥匙?我知道我可以在 MCT 中添加一个密钥文件,然后粘贴我在擦除之前给它的输入,但该输入在剪贴板中(它只需要你复制的最后一件事)。到目前为止,我已经看到了 OVC,但它只适用于 Nexus S,我使用的是运行 4.2.2 的 Nexus 7 平板电脑。我知道我可以强制写回密钥和访问条件,但如果没有正确的密钥,我将无法读取以及写入 RFID。

帮助将不胜感激。我正处于复兴这个 RFID 的最后计划中,我需要我能得到的所有帮助来复兴它,这是我现在唯一拥有的 RFID,购买另一个不是一个选择。

4

1 回答 1

1

该标签很可能已损坏(由于使用不正确的数据覆盖了访问条件)。密钥可能已经改变,但即使你得到它们,这些扇区仍然会死掉。

由于协议的原因,Mifare Classic 标签没有有效的蛮力攻击。但是,有几种工具可以利用该技术的一些弱点来检索密钥(mfcuk、mfoc、Proxmark3 设备等),但它们都不是用于 Android 设备的,也不会带你回到死区。

[...] 购买另一个不是一种选择。

对不起,但我很确定这是你唯一能做的...

于 2013-10-28T22:25:44.800 回答