You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解析Mifare Ultralight NFC标签的非TLV格式数据?

Mifare Ultralight 非TLV区域数据解析(含17.5/1750数值推测)

原始提取数据

[ 05:7E:EF:1C ] Addr. 00 : DATA
[ 6E:51:64:E9 ] Addr. 01 : DATA
[ B2:15:00:00 ] Addr. 02 : DATA
[ 00:00:00:00 ] Addr. 03 : DATA
[ 65:33:ED:7A ] Addr. 04 : DATA
[ A2:00:00:5A ] Addr. 05 : DATA
[ A5:5A:12:34 ] Addr. 06 : DATA
[ 00:00:00:00 ] Addr. 07 : DATA
[ 00:00:00:00 ] Addr. 08 : DATA
[ 00:00:00:00 ] Addr. 09 : DATA
[ 00:00:00:00 ] Addr. 0A : DATA
[ 00:00:00:00 ] Addr. 0B : DATA
[ 00:00:00:00 ] Addr. 0C : DATA
[ 00:00:00:00 ] Addr. 0D : DATA
[ 00:00:00:00 ] Addr. 0E : DATA
[ 00:00:00:00 ] Addr. 0F : DATA

解析步骤与推测

1. 确认标签类型与数据加密状态

Mifare Ultralight C的页4及之后区域默认加密,未用对应密钥解密时读取到的是乱码,自然不符合TLV格式。建议先验证标签类型:

  • 标准Ultralight(非C版)页0-3为UID、校验位、内部数据和锁位,页4及之后为明文可写区域;Ultralight C从页4开始加密。
  • 若为Ultralight C,需通过专业工具(如Proxmark3、NFC Tools)使用合法密钥解密页4及之后数据,得到明文再解析。

2. 明文数据的目标数值匹配逻辑

假设已获取明文,针对17.5或1750可按以下方向排查:

(1)十六进制与字节序匹配

  • 1750的十六进制为0x06D6(16位)、0x000006D6(32位)
  • 17.5的IEEE754单精度浮点表示为0x418C0000(32位)
  • 检查连续2/4字节组合,同时考虑大端(高位在前)、小端(低位在前)字节序,匹配上述值。

(2)BCD码排查

1750的压缩BCD码为0x17 0x50(每字节存两位十进制数),17.5可表示为0x17 0x05(整数+小数位),检查数据中是否有对应字节组合。

(3)固定点小数换算

若数据为缩放后的整数(如目标值×10/100存储),尝试将连续字节数值除以10/100,看是否得到17.5或1750。例如:17500÷10=1750,175÷10=17.5。

(4)ASCII编码排查

17.5的ASCII编码为0x31 0x37 0x2E 0x35(对应字符'1' '7' '.' '5'),1750为0x31 0x37 0x35 0x30(对应字符'1' '7' '5' '0'),检查数据中是否有连续对应字节。

3. 当前未解密数据的排查结果

遍历你提供的页4-6所有字节组合后,未找到与17.5/1750直接匹配的编码值,因此优先判断数据处于加密状态,需解密后再分析。

内容的提问来源于stack exchange,提问作者Maxime B

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 22:30:39