主页 > imtoken官网注册 > NFC开发——————NFC手机作为门禁卡的实现方法(二)

NFC开发——————NFC手机作为门禁卡的实现方法(二)

imtoken官网注册 2023-11-11 05:10:17

在这里插入图片描述

安卓NFC开发(一)

NFC开发——ID卡与IC卡的区别(M1卡、CPU卡)(三)

NFC开发————实用工具及开发文档(4)

一、条件 基本条件:门禁读卡器可以识别NFC手机(CPU卡处于卡模拟状态)。

验证方法:打开手机NFC,在门禁读卡器上刷卡,只要门禁读卡器有反应(滴答一声),即满足基本条件。 如果门禁读卡器没有反应,则无需考虑,除非门禁读卡器升级支持CPU卡(NFC标准)。

必要条件:门禁卡为身份证或IC卡,且门禁系统采用UID号码验证,否则以下方法无用。

那怎么知道门禁系统是通过UID号验证的呢? 自己测试推断,或者咨询门禁系统的技术支持和管理人员,或者查看门禁系统的相关资料。

测试推理:

身份证必须通过 UID 号进行验证。 IC卡可以通过UID号验证。

ID卡区别于IC卡,ID卡比IC卡厚很多。

身份证一定不能被NFC手机(软件)读取。 IC卡一般可以通过NFC手机(软件)读取; 能否读取不仅取决于兼容性etc卡在卡槽里很松,还取决于NFC手机芯片和软件的支持能力。

2.实现方法手机不需要root

(1)最简单的方法:到营业厅换一张带NFC功能的SIM/UIM卡到手机卡槽1(单卡无区别,双卡必须是卡槽1,并设置作为主卡),更改后交给门禁管理员,管理员会使用发卡机构读出UID号,直接添加到门禁系统中,并进行相应的授权。

(2) 如果发卡机构不支持CPU卡,则无法读出。 同理:到营业厅换一张带NFC功能的SIM/UIM卡到手机卡槽1(单卡无区别,双卡必须在槽1,并设置为主)卡),想办法读出NFC手机的UID号,然后让管理员在门禁系统中手动添加这个UID号,并进行相应的授权。

读取NFC手机的UID号的方法可以如下:除了本机(手机A),准备另外一台带NFC功能的手机(手机B),手机安装nxp taginfo软件B、打开手机A和手机B的NFC,打开手机B上的nxp taginfo软件,将手机A的NFC感应区靠近手机B的NFC感应区,有会“滴”的一声,拿走手机A,手机B会出现如下画面。 这样就得到了NFC手机(A机)的UID号。

在这里插入图片描述

(3)门禁读卡器是否支持自助注册。 同理:去营业厅换一张带NFC功能的SIM/UIM卡插入手机卡槽1(单卡无区别,双卡必须在1槽,设置为主卡),然后直接将SIM卡插入读卡器在键盘上使用类似的命令:#*123456#5刷手机#**即可。

手机需要root

以上方法都无法实现,我们可以通过将手机门禁的UID号改写为现有门禁卡的UID号来实现。 即使这种方法有效,它也是针对 NXP 或 Broadcom NFC 芯片的。

其他芯片找不到这个文件,具体方法如下:

(1) 手机安装NFC TagInfo软件,先开启NFC功能,再开启软件。 点击tech,然后将门禁卡放在手机背面的NFC感应器上,会出现如下界面,记录ID后面的字符。

在这里插入图片描述

(2) 手机已经root过,并且安装了‘RE文件管理器’。 打开RE文件管理器中的etc文件夹,找到类似“libnfc-nxp.conf”的文件,在文件中找到默认的NFC ID(01、02、03、04)。

在这里插入图片描述

(3)把这个ID改成刚才记录的门禁卡ID“13,67,A9,0A”,然后保存重启手机。 这样就设置好了。 拿到门禁那里试一下。 大多数都可以使用。

备注(以上均适用):

有些手机是自带SE的全终端手机,为什么要换成NFC-SIM/UIM卡? 因为全终端手机SE的UID号是随机的,随机UID的手机是不能做门禁卡的。 预先在系统中注册的ID不匹配,无法开启门禁。 如果全终端手机SE的UID号不变,则可以直接将该UID作为访问控制UID号。

另外,以上方法不适用于小米5,小米5是个奇葩,唯一不支持运营商NFC-SWP模式的etc卡在卡槽里很松,也就是不支持应用NFC- SIM/UIM卡,所以以上方法都不行。