据我所知,到目前为止,NFC手机将充当NFC阅读器,从NFC标签读取数据.现在我的问题是,我们可以改变它吗?我们是否可以将Android NFC手机视为NFC阅读器从中获取数据的标签?
谢谢你的协助.
我研究过Mifare和其他卡片仿真,我对编程非常了解(不是Android,而是C/C++).我有proxmark,我已经为proxmark制作了多个仿真代码,所以我知道这些卡是如何通信的.
我目前不明白,android是否启用全卡仿真.我已经研究了这个约3天了,结论是没有一个恒定的模式.有人说这是可能的,有人说不是.我查看了android API,基于主机的卡仿真似乎能够做到这一点,但据我所知,这是4.4 Kitkat中的新功能,有没有人有这方面的经验?
为了简单起见,目前我正在调查Mifare Ultralight最简单的基本仿真.这张卡是一个安全噩梦,没有加密,只有大约10个功能.所以我有兴趣用这张卡开始研究,因为它是最容易复制的.
那么有没有人对android上的卡片仿真有任何了解.也许不使用股票操作系统.任何值得了解的事情都将非常感激.
谢谢.
随着越来越多的设备具有KitKat,我正在尝试编译支持HCE的设备列表.
有人有这个清单吗?随意添加评论以参与此列表.
以下是我到目前为止:
要检测HCE支持,请使用以下代码段:
boolean isHceSupported =
getPackageManager().hasSystemFeature("android.hardware.nfc.hce");
Run Code Online (Sandbox Code Playgroud)有人报告称KitKat HCE手机在NFC设置中有"点按并付费"功能.我不知道使用"Tap&Pay"作为HCE检测方法是否有效,因为"Tap&Pay"可能意味着使用内部SE进行Tap&Pay.它不一定是HCE.
我目前正在为我的大学课程开发一个项目,我希望能够编辑Android的HCE功能的功能,以便在模拟卡片时设置我自己的UID.
现在,我已经下载了AOSP源代码,并构建了一个没有编辑代码的自定义映像,并将其安装到我的Nexus 7中(这包括下载并包含供应商特定的硬件驱动程序),我仍然坚持下一部分.
我实际上找不到管理Android的NFC功能的设备代码,我不确定如何去寻找a)寻找它,以及b)我应该如何编辑这段代码.
基于内核的Android中的NFC代码是什么?如果是这样,在我再次运行"make"并希望它构建之前,我将如何编辑?还是在其他地方?我注意到我下载和提取的Vendor文件夹中的文件是.ncd格式,我认为这是不可编辑的.
我能得到的任何帮助将不胜感激.
如何让NFC非接触式读卡器ACR122U充当标签(卡仿真模式)?招股说明书声称该设备可以进行卡仿真,但SDK似乎没有提供此功能的示例或文档.
有人知道怎么做这个吗?是否需要其他软件?请注意,我的目标平台是MS Windows.
提前致谢
Android 4.4引入了基于主机的卡仿真(HCE).如您所知,所有NFC卡都带有固定卡ID(NfcAdapter.EXTRA_ID).
我的办公室门禁通常会检测授权的NFC卡ID.将手机刷到KitKat后,我尝试使用门禁阅读器扫描手机.但是每当屏幕关闭再打开时,我会得到一个不同的卡ID.
我确实尝试打开手机屏幕,并将模拟卡ID注册到门禁系统.它设法授予打开门的权限.但是,在屏幕关闭再打开后,这将无效.
自KitKat引入HCE模式以来,我一直在尝试使用手机模拟门禁卡.
任何使手机模拟卡ID固定的想法?
我有一个LG D320n Android手机,elechouse的PN532 nfc模块和Stollmann的NFCPlayer,我可以正确阅读NFC标签.
我从这里测试了一个样本:https://github.com/grundid/host-card-emulation-sample
它工作正常,当我读取一个Android设备作为标签与另一个Android设备作为阅读器.但我无法通过NFCPlayer将Android设备作为PN532阅读器的标签阅读.我希望读者从Android设备读取NDEF消息作为标签,但NFCPlayer甚至不能识别Android设备.我想我必须在Android方面做一些修改,但我无法弄明白该怎么做.我想我对NFC通信和HCE的工作方式知之甚少,尽管我读过这篇文章:https: //developer.android.com/guide/topics/connectivity/nfc/hce.html
我真的很感激任何可以帮助我理解我在这里缺少什么的指南.
我找到了两种让Android应用检测和处理NFC标签的方法:
NfcAdapter.enableReaderMode(activity, callback, flags, extras) 然后在回调中接收标记信息.
NfcAdapter.enableForegroundDispatch(activity, intent, filters, techLists)然后在onNewIntent(intent)activity方法中接收标记信息.
我目前使用的是第二种方法,但是,我最近发现了这种enableReaderMode方法,并想知道用它来处理NFC标签是否更好.
那么enableReaderMode和之间的区别是什么enableForegroundDispatch?
我发现Android设备支持三种NFC模式:读写器,P2P和卡模拟.
我的应用程序可以检查当前启用的模式吗?
我试图根据本文档使用我的Nexus 5模拟NFC标签,但我的服务永远不会被调用.我应该关闭Android光束吗?
我想模拟一个包含网址的简单标记.
读者是Nexus 7(2012),我已经发现这个过程就像在Nexus 7上使用Android光束简单扫描NFC标签一样.
另外我对辅助过滤器名称有点困惑.有他们的清单吗?
我确定我不明白.谢谢