【问题标题】:MIFARE Ultralight emulation on AndroidAndroid 上的 MIFARE Ultralight 仿真
【发布时间】:2016-11-18 09:31:08
【问题描述】:

我需要创建一个模拟 Mifare Ultralight 卡的简单 Android 应用程序。它应该只在接收数据时在同一个缓冲区上读取和写入时“发送”数据(从可编辑缓冲区中获取)。

但我不知道如何模拟读卡器和模拟卡之间的这种通信。我已经阅读了有关 Android HCE 的信息,但我不知道如何实现 Mifare Ultralight 通信(ISO 14443 type A)。

我还阅读了this、this,当然也阅读了Android HCE。

我真的不知道必须如何实现通信。 假设我已经注册并正确设置了 HCE 等的 android 服务,从 Android 开发者网站(带有基本应用程序)我可以在读取模拟器时第一次发送数据。

但对于 MIFARE Ultralight 卡模拟:

1) 获得缓冲区后是否应该使用基本的 NFC 方法?

2) 如何开启卡片模拟器和读卡器之间的通信?

3) 必须在哪里使用这些读写方法?

编辑:让我们想象一个 MIFARE 钱包......所以,就像我需要存储和获取卡片数据一样。在 mifare4mobile 网站上,他们告诉我 SDK 可用,但任何人都知道如何以及在哪里。

谢谢!

【问题讨论】:

    标签: android nfc mifare contactless-smartcard hce


    【解决方案1】:

    根本不可能在 Android HCE 之上模拟 MIFARE Ultralight。 Android HCE 仅允许在 ISO/IEC 14443-4 传输协议之上模拟基于 ISO/IEC 7816-4 APDU 的应用程序。

    MIFARE Ultralight 仅使用较低的协议层。具体来说,Ultralight 通信协议直接位于 ISO/IEC 14443-3 Type A 中定义的框架之上,无需额外的传输协议。因此,在 Android 上使用 HCE 服务是无法模拟的。

    这并不意味着硬件无法模拟 MIFARE Ultralight 协议。我已经验证至少 Broadcom NFC 控制器能够模拟该协议。但是,实现这一点需要对 NFC 堆栈进行大量修改,因此在未经修改的现成 Android 设备上是不可能的。

    另见Emulate Mifare card with Android 4.4

    【讨论】:

    • 您好,感谢您的回复。所以,没有“简单”的方法可以做到……我向 mifare4mobile.org 发送了电子邮件,但没有任何答复!现在我正在阅读有关OpenNFC 的内容。我认为存在一种模拟 ISO/IEC 1444-3 Type-A 的方法,因此可以模拟 MIFARE 卡。
    • @MarcoSanfilippo OpenNFC 在实际的 Android 设备上对您没有多大帮助,因为它不支持当前 Android 设备中的 NFC 控制器。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多