gpt4 book ai didi

android - 使用 HCE 模式获取静态 NFC 标签 ID

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:47:37 30 4
gpt4 key购买 nike

我是 NFC 方面的新手,所以我在 HCE 模式下通过调用 getTagId() 方法测试了几部手机,结果如下:

device       | UID
LG G2 | random
LG G3 | static
S4 | random
HTC One Mini | static
Xiaomi mi3 | static

我的问题:

  1. 为什么有些手机有静态 UID 而有些没有?这个芯片组相关吗?
  2. 是否可以获得固定的 UID?我需要它来验证设备。
  3. 另一方面,我在 Xperia M 上使用 Kitkat CyanogenMod 11,但我没能将它用于 HCE,为什么?

有没有可以解释/支持答案的文件?

最佳答案

为什么有些手机有静态 UID 而有些没有?这个芯片组相关吗?

这取决于芯片组和 NFC 堆栈的实现。据我所知,各种 Android NFC 设备使用三种不同的场景:

  • 设备有一个安全元素并使用该安全元素的静态 UID。
  • 设备每次开机都会生成一个新的随机 UID。
  • 设备会在外部读取器设备每次激活时生成一个新的随机 UID。 IE。每当外部 HF 场应用于 Android 设备的 NFC 天线时。
  • 该设备没有安全元素,但仍使用静态 UID(通常不是唯一),例如0x01020304。 [感谢 ErikM 指出这一点。]

是否可以获得固定的 UID?

通常,您无法影响这一点。特别是在不修改 Android 设备固件(更改 NFC 堆栈)的情况下,这绝对是不可能的。参见 this answer一种通过修改libnfc-nci库在Broadcom芯片组上设置UID值的方法。

我需要它来验证设备。

不要这样做!参见 this answer有关这方面的更多信息。

关于android - 使用 HCE 模式获取静态 NFC 标签 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27239473/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com