看了《如何利用Nexus 5伪造一张门禁卡 》一文之后 很多人会问:Nexus 5的ID值是随机的,有一些安卓机的ID是固定的,很多安卓机/etc目录下面也没有libnfc-brcm-20791b05.conf文件,这种情况下我们该如何修改手机NFC的ID呢?
前几天看了《如何利用Nexus 5伪造一张门禁卡》此文章,手头有一台一加一手机,想试试。尝试楼主的方法多次都不成功,最后把系统搞得NFC开关都无法打开了。之后重刷了系统,又琢磨几番找到不同点,成功通过了小区门禁。
0×01
一加手机,CM12.1系统,etc目录中不存在libnfc-brcm-20791b05.conf文件,但是有libnfc-brcm.conf和libnfc-nxp.conf
0×02采样门禁卡
借来一张门禁卡,扫了一下,如下图
卡号id为:22:02:F5:2B
仔细观察手机不支持MIFARE Classic tags。所有就有能用的可能。采用的是android.nfc.tech.NfcA通信。
0X03 采样分析
找到一部带nfc的华为荣耀6手机,扫一下自己手机,ID竟然是01:02:03:04,多次扫描,都一样!固定ID:01:02:03:04。(借的手机,就不上截图了..)
从手机里提取出来的两个文件
尝试修改NFA_DM_START_UP_CFG部分导致手机NFC无法打开,放弃修改次部分。
在libnfc-brcm.conf中最后又一句
得知手机使用的是NXP的芯片。
在libcnfc-nxp.conf中找到这样一段
配置文件中描述NFC-A的info项目中存在01:02:03:04 由此推断这就是手机的UID,前面的04应该是长度。于是将01:02:03:04修改为22:02:F5:2B
将文件copy进入手机中。
重启手机
0×04验证
用华为手机扫描本手机,结果在预料之中!!手机的ID已被更改!