解析 MiFare Ultralight NFC 标签的内容
Resolving contents of MiFare Ultralight NFC tag
我目前正在使用 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 header(前 9 个是串行 number/check 字节,1 个字节用于内部,2 个用于锁,最后 4 个是 OTP 字节。)
从字节 21 开始,我可以看到 TLV 记录的开始,末尾有 Terminator TLV 标志 (03 1b ... fe
),表示长度为 27 的 NDEF 类型的记录。这与预期的 NDEF 记录。
但是,我对字节 16..20 (01 03 a0 0c 34
) 感到困惑。这些是什么?
这些似乎是锁定控制 TLV 的一部分,是 NFC Type 2 Tag standard (pages 10-11).
的一部分
字节布局如下:
0x01
- 锁定控制 TLV 块名称
0x03
- 长度为 3 个字节
0xa0
- 对锁定区域所在的标签内的位置进行编码,由两个半字节组成:
0b0000
- 高4位代表页数,低4位为字节数
0b1100
- 锁定区域使用的位数。
0x0c
- 指示锁定区域的大小(以位为单位)
0x34
- 提供页面中的字节数以及每个动态锁定位能够锁定的字节数。
我目前正在使用 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 header(前 9 个是串行 number/check 字节,1 个字节用于内部,2 个用于锁,最后 4 个是 OTP 字节。)
从字节 21 开始,我可以看到 TLV 记录的开始,末尾有 Terminator TLV 标志 (03 1b ... fe
),表示长度为 27 的 NDEF 类型的记录。这与预期的 NDEF 记录。
但是,我对字节 16..20 (01 03 a0 0c 34
) 感到困惑。这些是什么?
这些似乎是锁定控制 TLV 的一部分,是 NFC Type 2 Tag standard (pages 10-11).
的一部分字节布局如下:
0x01
- 锁定控制 TLV 块名称0x03
- 长度为 3 个字节0xa0
- 对锁定区域所在的标签内的位置进行编码,由两个半字节组成:0b0000
- 高4位代表页数,低4位为字节数0b1100
- 锁定区域使用的位数。
0x0c
- 指示锁定区域的大小(以位为单位)0x34
- 提供页面中的字节数以及每个动态锁定位能够锁定的字节数。