如何在不覆盖任何内容的情况下确定 nfc 标签是否被锁定?
How to find out if nfc tag is locked without overwriting anything on it already?
我知道我可以尝试 read/write 覆盖已有的内容,但这会抹掉已有的内容。是否有任何特定的 apdu 或类似的东西可以显示它?
根据您的标签列表,您可能会分别处理每种类型的标签。
例如,即使在 NTAG 21x 系列卡上,它们只是同一张卡的不同大小,您也可以通过以下方法锁定它。
静态锁定字节,您将读取页面 02h
的字节 2 和 3,这适用于所有大小。
动态锁定字节,根据卡的大小,您需要读取 28h
或 82h
或 E2h
。
阅读 29h
或 83h
或 E3h
的 AUTH0
配置页面,查看它们是否已被密码锁定,再次取决于卡片大小。
读取 3h
页第 3 字节的 Capability Container 作为 Ndef data standard for a Type 2 card 因为这表明写入是否被“锁定”,尽管我有 Type 2 兼容卡(不是完全兼容)在硬件级别忽略它并允许写入,即使写访问应该被它阻止。
那么所有的 Mifare Classic 系列卡将有一套不同的锁定机制,再次存储在整个标签中。
其中一些方法可以部分“锁定”标签,因为它们只能限制标签的一部分,而不是整个标签。
这是可能的,但工作量很大,要检查所有配置位置,可以“锁定”标签。
我知道我可以尝试 read/write 覆盖已有的内容,但这会抹掉已有的内容。是否有任何特定的 apdu 或类似的东西可以显示它?
根据您的标签列表,您可能会分别处理每种类型的标签。
例如,即使在 NTAG 21x 系列卡上,它们只是同一张卡的不同大小,您也可以通过以下方法锁定它。
静态锁定字节,您将读取页面
02h
的字节 2 和 3,这适用于所有大小。动态锁定字节,根据卡的大小,您需要读取
28h
或82h
或E2h
。阅读
29h
或83h
或E3h
的AUTH0
配置页面,查看它们是否已被密码锁定,再次取决于卡片大小。读取
3h
页第 3 字节的 Capability Container 作为 Ndef data standard for a Type 2 card 因为这表明写入是否被“锁定”,尽管我有 Type 2 兼容卡(不是完全兼容)在硬件级别忽略它并允许写入,即使写访问应该被它阻止。
那么所有的 Mifare Classic 系列卡将有一套不同的锁定机制,再次存储在整个标签中。
其中一些方法可以部分“锁定”标签,因为它们只能限制标签的一部分,而不是整个标签。
这是可能的,但工作量很大,要检查所有配置位置,可以“锁定”标签。