其他分享
首页 > 其他分享> > Android中主机卡仿真的编辑功能

Android中主机卡仿真的编辑功能

作者:互联网

我目前正在为我的大学课程开发一个项目,我希望能够编辑Android的HCE功能的功能,以便在模拟卡片时设置我自己的UID.

现在,我已经下载了AOSP源代码,并构建了一个没有编辑代码的自定义映像,并将其安装到我的Nexus 7中(这包括下载并包含供应商特定的硬件驱动程序),我仍然坚持下一部分.

我实际上找不到管理Android的NFC功能的设备代码,我不确定如何去寻找a)寻找它,以及b)我应该如何编辑这段代码.

基于内核的Android中的NFC代码是什么?如果是这样,在我再次运行“make”并希望它构建之前,我将如何编辑?还是在其他地方?我注意到我下载和提取的Vendor文件夹中的文件是.ncd格式,我认为这是不可编辑的.

我能得到的任何帮助将不胜感激.

解决方法:

好 !所以我找到了解决我遇到的问题的方法!

在Nexus 7上,当NFC打开时,它从“/ etc /”中的配置文件获取其信息,名为“libnfc-brcm-20791b05.conf”

在此文件内部有一个名为“NFA_DM_START_UP_CFG”的参数

默认情况下,它看起来像这样:

NFA_DM_START_UP_CFG={42:CB:01:01:A5:01:01:CA:14:00:00:00:00:0E:C0:D4:01:00:0F:00:00:00:00:C0:C6:2D:00:14:0A:B5:03:01:02:FF:80:01:01:C9:03:03:0F:AB:5B:01:00:B2:04:E8:03:00:00:CF:02:02:08:B1:06:00:20:00:00:00:12:C2:02:01:C8}

要编辑在Emulation中生成的UID,您需要在此参数的末尾添加一些字节.

您添加的第一个字节是0x33(这意味着您将手动设置UID)

添加的第二个字节是您要设置的UID的长度(这可以是4,7或10个字节,因此第二个字节可以是0x04,0x07或0x0A)

接下来的字节就是你想要设置的ID! (注意:根据您添加的字节数,您应该更改数组的第一个字节以反映数组的新大小 – 它从42开始,因此如果您要添加6个字节,则应更改为48)

例如,如果您希望将7字节ID设置为01 02 03 04 05 06 07,则新配置行将如下所示:

NFA_DM_START_UP_CFG={4B:CB:01:01:A5:01:01:CA:14:00:00:00:00:0E:C0:D4:01:00:0F:00:00:00:00:C0:C6:2D:00:14:0A:B5:03:01:02:FF:80:01:01:C9:03:03:0F:AB:5B:01:00:B2:04:E8:03:00:00:CF:02:02:08:B1:06:00:20:00:00:00:12:C2:02:01:C8:33:07:01:02:03:04:05:06:07}

然后,您可以使用adb将此配置文件推送到您的nexus设备:

-> adb root
-> adb remount
-> adb push libnfc-brcm-20791b05.conf /etc/
-> adb reboot

这将使用新的配置文件重置Nexus,并且在仿真时,UID现在将设置为01 02 03 04 05 06 07

希望这有助于任何人阅读我的问题!

标签:android,nfc,kernel,serial-number,hce
来源: https://codeday.me/bug/20190918/1810715.html