【问题标题】:Resolving contents of MiFare Ultralight NFC tag解析 MiFare Ultralight NFC 标签的内容
【发布时间】:2019-06-26 17:58:49
【问题描述】:

我目前正在使用 NFC/NDEF,但遇到了一个问题,我无法理解传入的数据。我对 NDEF 标准有一个大致的了解,并查看了 MIFARE 数据表,所以我能挑出一些东西,但有几个字节似乎不合适,让我感到困惑。

这是标签上数据的十六进制转储,通过nfc-mfultralight r收集:

00000000  04 02 2f a1 d2 11 5f 81  1d 48 00 00 e1 10 12 00  |../..._..H......|
00000010  01 03 a0 0c 34 03 1b 91  01 05 54 02 65 6e 68 69  |....4.....T.enhi|
00000020  11 01 05 54 02 65 6e 68  69 51 01 05 54 02 65 6e  |...T.enhiQ..T.en|
00000030  68 69 fe 00 00 00 00 00  00 00 00 00 00 00 00 00  |hi..............|

我知道前 16 个字节 (04 02 2f a1 d2 11 5f 81 1d 48 00 00 e1 10 12 00) 是 NFC/MIFARE 标头(前 9 个是序列号/校验字节,1 个字节用于内部,2 个用于锁定,最后 4 个是 OTP 字节。)

从字节 21 开始,我可以看到 TLV 记录的开头,结尾带有 Terminator TLV 标志 (03 1b ... fe),表示长度为 27 的 NDEF 类型的记录。这与预期的 NDEF 记录的长度匹配。

但是,我对字节 16..20 (01 03 a0 0c 34) 感到困惑。这些是什么?

【问题讨论】:

    标签: ndef tlv


    【解决方案1】:

    这些似乎是锁定控制 TLV 的一部分,也是 NFC Type 2 Tag standard (pages 10-11) 的一部分。

    字节排列如下:

    • 0x01 - 锁定控制 TLV 块名称
    • 0x03 - 长度为 3 个字节
    • 0xa0 - 编码锁定区域所在标签内的位置,由两个半字节组成:
      • 0b0000 - 高 4 位表示页数,低 4 位表示字节数
      • 0b1100 - 锁定区域中使用的位数。
    • 0x0c - 表示锁定区域的大小
    • 0x34 - 提供页面中的字节数以及每个动态锁定位能够锁定的字节数。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-10
      • 2020-06-10
      • 1970-01-01
      相关资源
      最近更新 更多