准备工作
要实现这一功能还是要付出一定成本的。(如果有带NFC功能的安卓手机同样可以实现)
首先需要购入读卡(写卡)器,在淘宝上以PN532为关键字搜索。
这种要自己连线的价格便宜一些,30元左右。
我选择了后者,就是从这家誉诺电子买的套餐。这家店同时提供软件下载和基本教程。
这就是PN532读卡器。
340芯片,提供USB串口的转换,在Win10下运行稳定。
将两块芯片按照这一次序连接,不要接错,否则容易烧坏。(左侧PN532读卡器,右侧340芯片)
GND-GND,VCC-5.0V,SDA-RXD,SCL-TXD
将340芯片接入电脑的USB端口,成功后两块芯片都会红灯常亮。一般340芯片Win10电脑可以直接识别,无需安装额外驱动(我是Win10 2004)。
此外你还需要一张UID卡(或者CUID卡),一般买套餐卖家会提供2张,空白卡或者蓝色圆卡皆可。
软件MifareOne Tool,我使用的版本是卖家提供的1.66。这里提供下载地址,提取码: 8qkh。
详细流程
下面开始详细流程 ,都是本人实际操作,亲测可用。
打开软件MifareOne Tool。
软件打开界面如下,按钮比较多;不过别担心,一般用不到这么多功能。
点击检测连接,如果看到终端显示以下信息,说明NFC设备已经连接成功。
将门禁卡放在PN532芯片上。
点击扫描卡片,看到终端显示卡片信息,说明读取成功。
点击一键解原卡,稍事片刻,终端会显示一连串数字,表示已经解码成功。同时会跳出对话框让你保存DUMP文件,随便命名。
将一张空白卡(UID卡)放在PN532读卡器上,点击扫描卡片,确保空白卡被正常识别。
然后点击高级操作模式->Hex编辑器
点击文件,打开刚才保存的DUMP文件,点击扇区0 有数据,将第0块的前8位数据拷贝出来。
回到高级操作模式中,点击UID写号,在弹出框中粘贴刚才拷贝的8位十六进制码。
成功后,终端会显示卡片已解锁的字样。
至此,同UID的普通卡已经制作完成。
下面用小米手环模拟这张普通卡。门卡检测->门卡模拟,需要几分钟的时间。
可以看到,这里我们是准备采用曲线救国的方式,先将门禁卡中的前8位码复制到一张空白卡中,模拟到小米手环上,然后再将其余加密数据写进小米手环,从而达到完整复制门禁卡的目的。
随后在手环中切换到之前模拟的卡片,靠近PN532点击扫描卡片。
扫描成功手环会震动提示。随后至高级操作模式点击CUID写,在跳出的对话框中选择第一步创建的DUMP文件导入。
写入成功后可以在终端看到完成!写入了63/64个块的字样,为什么是写入63块呢?因为之前一步已经从普通卡写入8位也就是1块数据。
如果有多张门禁卡需要模拟,重复上述操作。空白卡可以多次读写,多次使用。
全部完成后,如需绑定多张门禁卡,可以在手环中切换,门禁卡自动启用大概需要一秒钟时间,速度尚可,显示“靠近读卡器”就说明可以刷卡了。
现在老婆出门进出小区、乘坐地铁、出入大厦、进入公司打卡只需刷手上佩戴的手环即可,方便了不少。平日惯常对我又打又骂的她,也难得夸奖起我了,能够得到家人的认同还是非常有成就感的~
最后提一句,如果大家使用的空白卡是CUID卡,写入8位卡号这一步的操作会稍有差别。需要制作一个有原UID卡号的DUMP文件,然后点击CUID写导入空白卡。使用CUID卡可以绕过防火墙,如果大家通过UID卡模拟失败,可以尝试CUID卡。
这一方法对于小米手环4NFC也是有效的。同时,实现这一功能也有其他办法,比如有人就可以不需要额外的UID卡即可实现模拟加密门禁卡,不过操作就更复杂了,误操作的概率更高。
当然,各个公司的门禁卡情况各有不同,比如本人公司使用的是HID厚卡,PN532根本无法识别,也就无法模拟复制。还有如果读卡器是验证卡片中完整的厂商信息,也就是0扇区后半部分,基本上就无解了。