V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
sky96111
V2EX  ›  问与答

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

  •  
  •   sky96111 · 2020-04-18 16:41:28 +08:00 · 2683 次点击
    这是一个创建于 1684 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

    但是只要你胆肥,也是可以随便模拟,就看有没有开放接口给你,代价是不安全
    Xusually
        4
    Xusually  
       2020-04-18 18:44:05 +08:00
    @sky96111 可以模拟扇区啊。MIUI 里好多讨论这个的。
    https://www.xiaomi.cn/post/9051031
    https://www.xiaomi.cn/post/5006282
    ysc3839
        5
    ysc3839  
       2020-04-18 19:18:21 +08:00 via Android
    是直接调用 NFC 芯片支持的,具体如何实现就得问相关芯片厂商了。
    第三方系统不支持,最根本还是因为没人做,除非硬件层面有限制第三方系统。而没人做的原因,很可能是因为 Android 本身就没这功能,开发者不想支持厂商私有功能。
    sky96111
        6
    sky96111  
    OP
       2020-04-18 22:30:58 +08:00 via Android
    @ysc3839 了解了。看样子还是用手环靠谱点
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3006 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 44ms · UTC 14:46 · PVG 22:46 · LAX 06:46 · JFK 09:46
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.