Android 上的 MIFARE Ultralight 仿真
MIFARE Ultralight emulation on Android
我需要创建一个简单的 Android 应用程序来模拟 Mifare Ultralight 卡。它应该只有 "sends" 数据(从可编辑缓冲区中获取)在接收数据时在同一缓冲区上读取和写入。
但是我不知道如何模拟reader和模拟卡之间的这种通信。我已经读过 Android HCE,但我不知道如何实现 Mifare Ultralight 通信(ISO 14443 A 型)。
我也看了this, this and of course I read about Android HCE。
真不知道通信要怎么实现。
假设我已经从 Android 开发者网站(带有基本应用程序)为 HCE 等注册并正确设置了 android 服务,我可以在读取模拟器时发送第一次数据。
但对于 MIFARE Ultralight 卡仿真:
1) 获取缓冲区后是否应该使用基本的NFC方法?
2) 如何开启卡模拟器与reader之间的通信?
3) 这些读写方法必须用在什么地方?
编辑: 让我们想象一个 MIFARE 钱包……所以,就像我需要存储和获取卡数据一样。在 mifare4mobile 网站上,他们告诉我可以使用 SDK,但任何人都知道如何使用以及在何处使用。
谢谢!
根本不可能在 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
我需要创建一个简单的 Android 应用程序来模拟 Mifare Ultralight 卡。它应该只有 "sends" 数据(从可编辑缓冲区中获取)在接收数据时在同一缓冲区上读取和写入。
但是我不知道如何模拟reader和模拟卡之间的这种通信。我已经读过 Android HCE,但我不知道如何实现 Mifare Ultralight 通信(ISO 14443 A 型)。
我也看了this, this and of course I read about Android HCE。
真不知道通信要怎么实现。 假设我已经从 Android 开发者网站(带有基本应用程序)为 HCE 等注册并正确设置了 android 服务,我可以在读取模拟器时发送第一次数据。
但对于 MIFARE Ultralight 卡仿真:
1) 获取缓冲区后是否应该使用基本的NFC方法?
2) 如何开启卡模拟器与reader之间的通信?
3) 这些读写方法必须用在什么地方?
编辑: 让我们想象一个 MIFARE 钱包……所以,就像我需要存储和获取卡数据一样。在 mifare4mobile 网站上,他们告诉我可以使用 SDK,但任何人都知道如何使用以及在何处使用。
谢谢!
根本不可能在 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