国产有 NFC 的手机系统基本都配备了门禁卡模拟这功能,但对于刷了原生的人,这个功能却无法使用。找遍网络,第三方实现基本只有靠写 nfc 配置文件模拟卡 ID,对于需要写入数据的场景都不能使用。手机厂商官方的是如何实现模拟扇区的呢?有可能在原生系统上实现比较完美的卡模拟吗?
1
Xusually 2020-04-18 17:46:52 +08:00
据我所知:
1 、厂商对于非加密的门禁卡的模拟,通过模拟卡 id 来做的,和你第三方看到的其实是一样的。 2 、厂商对于加密的门禁卡的模拟,以及类似于饭卡之类的加密卡的模拟,是通过将自身模拟成一张白卡,需要去卡片管理的地方写入数据做到的,比如带着手机白卡去物业相当于开一张新卡。 |
2
sky96111 OP @Xusually 将自身模拟成一张白卡也是需要模拟出可写的扇区呀。一加自带的卡包,可以使用 pn352 写入卡数据,刷了氧以后用 play 上的 nfc 卡模拟 ,却只能模拟出 ID,上 pn352 写分区提示卡不支持,在需要写入的场景会因为没有真实扇区失败
|
3
churchmice 2020-04-18 18:03:59 +08:00
这东西都是软件层面的
开放给你就开放给你了 唯一需要硬件做的是有 NFC 接口,至于这个接口往对方(读卡器)发什么数据,都是软件可以干预的 当然我说的都是纯 ID 的卡,理论上你想模拟多少张就模拟多少张 对于加密卡,一般是要存在 trustzone 或者 security storage 里的,所以会有张数限制 但是只要你胆肥,也是可以随便模拟,就看有没有开放接口给你,代价是不安全 |
4
Xusually 2020-04-18 18:44:05 +08:00
@sky96111 可以模拟扇区啊。MIUI 里好多讨论这个的。
https://www.xiaomi.cn/post/9051031 https://www.xiaomi.cn/post/5006282 |
5
ysc3839 2020-04-18 19:18:21 +08:00 via Android
是直接调用 NFC 芯片支持的,具体如何实现就得问相关芯片厂商了。
第三方系统不支持,最根本还是因为没人做,除非硬件层面有限制第三方系统。而没人做的原因,很可能是因为 Android 本身就没这功能,开发者不想支持厂商私有功能。 |