有一个疑问,手机厂商的 NFC 模拟是如何实现的?

2020-04-18 16:41:28 +08:00
 sky96111

国产有 NFC 的手机系统基本都配备了门禁卡模拟这功能,但对于刷了原生的人,这个功能却无法使用。找遍网络,第三方实现基本只有靠写 nfc 配置文件模拟卡 ID,对于需要写入数据的场景都不能使用。手机厂商官方的是如何实现模拟扇区的呢?有可能在原生系统上实现比较完美的卡模拟吗?

2682 次点击
所在节点    问与答
6 条回复
Xusually
2020-04-18 17:46:52 +08:00
据我所知:
1 、厂商对于非加密的门禁卡的模拟,通过模拟卡 id 来做的,和你第三方看到的其实是一样的。
2 、厂商对于加密的门禁卡的模拟,以及类似于饭卡之类的加密卡的模拟,是通过将自身模拟成一张白卡,需要去卡片管理的地方写入数据做到的,比如带着手机白卡去物业相当于开一张新卡。
sky96111
2020-04-18 17:55:47 +08:00
@Xusually 将自身模拟成一张白卡也是需要模拟出可写的扇区呀。一加自带的卡包,可以使用 pn352 写入卡数据,刷了氧以后用 play 上的 nfc 卡模拟 ,却只能模拟出 ID,上 pn352 写分区提示卡不支持,在需要写入的场景会因为没有真实扇区失败
churchmice
2020-04-18 18:03:59 +08:00
这东西都是软件层面的
开放给你就开放给你了

唯一需要硬件做的是有 NFC 接口,至于这个接口往对方(读卡器)发什么数据,都是软件可以干预的
当然我说的都是纯 ID 的卡,理论上你想模拟多少张就模拟多少张

对于加密卡,一般是要存在 trustzone 或者 security storage 里的,所以会有张数限制

但是只要你胆肥,也是可以随便模拟,就看有没有开放接口给你,代价是不安全
Xusually
2020-04-18 18:44:05 +08:00
@sky96111 可以模拟扇区啊。MIUI 里好多讨论这个的。
https://www.xiaomi.cn/post/9051031
https://www.xiaomi.cn/post/5006282
ysc3839
2020-04-18 19:18:21 +08:00
是直接调用 NFC 芯片支持的,具体如何实现就得问相关芯片厂商了。
第三方系统不支持,最根本还是因为没人做,除非硬件层面有限制第三方系统。而没人做的原因,很可能是因为 Android 本身就没这功能,开发者不想支持厂商私有功能。
sky96111
2020-04-18 22:30:58 +08:00
@ysc3839 了解了。看样子还是用手环靠谱点

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/663770

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX