我研究过Mifare和其他的卡片仿真,我有很好的编程知识(不是Android,而是C/C++)。我有proxmark,我为proxmark制作了多个仿真代码,所以我知道这些卡是如何通信的。
我不明白目前,android是否支持全卡仿真。我已经研究了大约3天,得出的结论是没有一个固定的模式。有人说这是可能的,有人说是不可能的。我看了一下android,基于主机的卡仿真似乎能够做到这一点,但据我所知,4.4 Kitkat是一个新的东西,有人对此有任何经验吗?
为了简单起见,目前我正在研究Mifare超光速的最基本的最简单仿真。这张卡是一个安全噩梦,没有加密,只有大约10个功能,它可以。所以我有兴趣从这张卡片开始研究,因为它是最容易复制的。
也没有人知道在android上的卡模拟。也许不使用股票操作系统。任何值得知道的事情都会非常感激。
谢谢。
发布于 2014-01-09 12:33:05
一年前,我花了几周的时间研究这个主题,我基于当前实现得出的结论是:模拟MIFARE经典是可能的,但只有通过嵌入式安全元素,该元素才嵌入到NXP的NFC芯片(例如三星PN65芯片)中。
我已经能够使用库中的隐藏函数完全模拟Mifare经典卡。虽然我只能读取卡片,为了使它有用,在大多数情况下,您需要访问由NXP存在applet的安全元素,这个applet服务器是管理模拟卡的前端。
继续这一搜索的一个好方法是反向工程谷歌的钱包应用程序。
发布于 2018-09-14 12:25:25
简单的回答是是。然而,取决于许多因素,如android版本,手机的NFC芯片等。
要知道您的设备是否支持,只需下载一些应用程序,如"NFC检查“由Tapkey,它将通知您是否支持MiFare经典和Mifare超轻。还有一份最新的清单,但显然可能有一些错配:https://www.shopnfc.com/en/content/7-nfc-compatibility。
现在的问题是“如何”。我还没有找到一个应用程序来使用新的Android的基于主机的卡模拟(HCE) (见这里):Android支持有多好?。
事实上,MiFare最近建议您应该使用"secure element“方法来代替:https://www.mifare.net/support/forum/topic/emulate-mifare-classic-1k/
回到你关于超光速的问题,主要的困难是Android定义为-今天在每个点击上发送一个随机的UID,就像以前的用户nCypher:https://developer.android.com/guide/topics/connectivity/nfc/hce所建议的那样。
作为替代根访问(或自定义氰ROM),可能有助于修改UID,如本例中所示:http://osgt7405i.bkt.clouddn.com/help/en/index.html?t=1536931682474
然而,最新的Android直接引用了Ultralight对象:https://developer.android.com/reference/android/nfc/tech/MifareUltralight
我知道一些公司正在通过SIM存储来模仿这一点。对于使用您的手机作为这些MIFARE类型的RFID卡,MiFare已经做出了一种解决方案,业务可以在云https://www.mifare4mobile.org/中加载与其运营商SIM相关的卡。有一个正式认证的NFC芯片的清单,其中大多数是NPX,广泛地包括在智能手机中。
但是,他们的解决方案是SDK (即TapLinx)。NXP提供的纯软件产品不像任何电话模拟软件或云基础解决方案那样可用。
更重要的是,MiFare论坛谈到了这一点:https://www.mifare.net/support/forum/topic/creating-nfc-android-app-to-act-as-mifare-card-to-interact-with-mifare-readers/
发布于 2014-11-04 17:29:15
MIFARE超薄芯片MF0ICU1 (每个16页x4字节)确实是一场噩梦,但不能在包括PN53x在内的任何NXP接口上进行模拟,因为它们将第一个UID
字节(UID0
)硬连接到0x08
,因此这意味着标记有一个随机的UID
(按照NXP标准)。你需要UID0 = 0x04
来模仿米法雷超光速。
存在一个独立MIFARE超光速仿真器,它允许UID0
的任何值,具有可重置的OTP、锁和块锁定位。有关更多信息,请参见手册。
https://stackoverflow.com/questions/20055497
复制相似问题