尝试通过外部NFC读取器从MIFARE Ultralight卡中提取数据。不确定要在

时间:2019-02-13 20:38:58

标签: android nfc mifare

因此,我已经将ACR1252U USB阅读器连接到Samsung Galaxy平板电脑,并且我正在尝试为我的Android应用读取MIFARE Ultralight标签。

我在NFC方面还很陌生,到目前为止,我已经弄清楚如果我想读取任何内容,则需要向标签发送APDU。在APDU中,还指定了一个块号,该块号告诉读取器从哪里开始读取,这就是我的问题所在。我知道我想要什么数据,但我不知道要传输什么APDU。

我正在使用的APDU“格式”类似于FF B0 00 04 10h,其中倒数第二个是起始块号。

此外,这是有关我尝试读取的标签的一些详细信息:

  1. 信息页第一:https://i.imgur.com/vyc6Hj3.png
  2. 第二页信息:https://i.imgur.com/7V95GZs.png
  3. 有关数据块的信息:https://i.imgur.com/oaODPSr.png

如果您查看第二张图片(https://i.imgur.com/7V95GZs.png),则记录0-外部开头的 99831 是我唯一的一条信息。想。这是我需要提取的参与者ID,以后将在我的应用程序中使用。

我希望我已经足够详细了。任何指导将不胜感激。


更新:我设法通过增加APDU命令中的block#来弄清它,直到看到所需要的数据为止。

对我有用的APDU是ff b0 00 0a 06,它返回64 39 39 38 33 31 90 00(ASCII = d99831)。那就是那里的参与者ID。

现在的问题是,我想要的数据的起始块号可能在每个NFC标签上都不相同。我有没有更快的方法跳到有效载荷中的那个区域?还是我必须遍历数据并手动查找?如果是后者,那我该怎么做?是否有特殊字符或十六进制值分隔NFC标签上数据的不同部分?

我用来检查每个标签的有效载荷的NFC工具应用程序能够以某种方式分离或区分有效载荷中的不同部分。他们怎么样?

0 个答案:

没有答案