nfc - 使用覆盖的权限位恢复 Mifare Classic 1k 中的扇区

标签 nfc mifare

我错误地覆盖了我的 Mifare 经典 1k 标签之一的扇区 1 块 7。它用于测试,我在块 7 上写入的 16 字节数据如下所示:

0xaa 0xaa 0xaa 0xaa
0xbb 0xbb 0xbb 0xbb
0xcc 0xcc 0xcc 0xcc
0xdd 0xdd 0xdd 0xdd

如果没有记错的话,通过这样做,我的访问 key 和权限位变为如下:

  • key -A:0xaa 0xaa 0xaa 0xaa 0xbb 0xbb
  • key -B:0xcc 0xcc 0xdd 0xdd 0xdd 0xdd
  • 权限位:--> 0xbb 0xbb 0xcc

  • 我曾尝试使用 Key-AKey-B如上图读/写block 7sector 1 .但我无法再访问(不可读取或写入)sector 1 中的任何块了。

    我知道所有其他部门的 key (例如 sector 0sectors 2-15 )并且能够访问它们。

    考虑到这种情况,我想知道有没有办法重置sector 1block 7重新获得我的访问权限。非常感谢。

    更新:

    我已经确认如上所示的 Key-A 和 Key-B 都是正确的,并且我可以使用它们对卡进行身份验证。此外,根据 Mifare Classic specification ( screenshot ),我的访问位如下:

    字节 6 = 0xbb = 0b10111011
    --------------------------
    C2_3 C2_2 C2_1 C2_0 C1_3 C1_2 C1_1 C1_0
    1 1 0 1 1 1 0 1

    字节 7 = 0xbb = 0b10111011
    --------------------------
    C1_3 C1_2 C1_1 C1_0 C3_3 C3_2 C3_1 C3_0
    1 1 0 1 1 1 0 1

    现在,考虑规范/截图,C1_3 , C2_3C3_3位启用对 sector-trailer 的读/写访问.就我而言,对于块 7(扇区 7 的预告片),它们都设置为 1 .那么我不应该对这个块有写访问权限吗?

    最佳答案

    一旦访问控制位配置不正确(例如,应该是彼此互补的位不是互补的,就像你的情况一样),该扇区就无法再访问了。

    关于nfc - 使用覆盖的权限位恢复 Mifare Classic 1k 中的扇区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14635394/

    相关文章:

    android - 如何制作可以编写 Mifare classic Tag 的 android 应用程序?

    c# - 我如何在 desfire ev1 中进行 native 身份验证

    java - Android读取NFC标签数据

    protocols - Mifare 经典 1k 和 NFC 通信协议(protocol)

    android - 即使包含 Ndef 数据,也不会为 ACTION_NDEF_DISCOVERED 操作发现 NFC 标签

    uniqueidentifier - 用于从 MIFARE DESFire 获取 UID 的 APDU?

    c# - 从PC读取接收到android手机的数据

    android - 标记错误地枚举为 MIFARE Classic,SAK = 32

    APDU 命令的 Android NFC 问题

    c - 使用 C 中的 NXP Mifare Ultralight 从 NFC 腕带读取正确数据