起因
在QFLS吃饭直接刷指静脉就可以了,而在HNFMS竟然要刷饭卡!!作为口袋里力求什么都不带的人来说,每天都揣着一张饭卡就太不爽了。所以,我看了看手上的手环。。。
感谢WZB提供工具和指导!!
过程&教程
准备
硬件
- 一个NFC读卡器,USB,可以到某宝上直接搜索购买,也可以购买pn532之后自己连接USB线,这是pn532的样子:
- 一台Windows的电脑,建议不要用虚拟机,原因等下讲。
- 一张CUID空白卡,虽然百度上有不用CUID的做法,但是原理就是将原卡当作CUID卡进行刷写,我感觉不太安全。
- 折腾的心态~
软件
如果你买的是某宝上的NFC读写器,驱动就按照商家的进行安装就好了。如果你用的和我一样是pn532,那么对于Windows7及以上的系统(vista我不知道要不要),需要把驱动签名给禁用。禁用也很简单,你也可以度娘,也可以按照我写的做也可以。
进入“设置“,在搜索框中输入”恢复“,进入”恢复选项“,然后找到”高级启动“并重启。
欸算了,这是Windows11的重启方法,剩下的步骤和Windows10一样,我就放出链接就好了把
进入驱动签名,Windows10
关闭驱动签名之后,先去下载这个安装包,里面有驱动和NFC工具:
下载
安装驱动的时候,要先插入pn532,然后到设备管理器里面去安装。选中”USB Serial**”,右键,更新驱动,从本地选取驱动,然后选择这个文件夹,安装就好了。
这时再看你的设备管理器,会出现这个设备:
至此,准备工作完成。
解密
打开这个文件:
然后点击检测连接,应该会看到这些东西输出:
开始执行检测设备……
nfc-bin/nfc-scan-device.exe 使用libnfc 1.7.1
找到 1 个NFC设备:
- pn532_uart:COM3:
pn532_uart:COM3:115200
识别了以下设备:
pn532_uart:COM3:115200
将自动选择首个设备:pn532_uart:COM3:115200
已指定使用该NFC设备:pn532_uart:COM3:115200
##运行完毕##
如果没有看到,就重新把驱动给装一遍把。
接着,将饭卡(需要解密的卡)放到读卡器上,先点击扫描卡片,应该会看到这些:
开始执行扫描卡片……
nfc-bin/nfc-list.exe 使用 libnfc 版本 1.7.1
NFC设备: NFC-Device 已打开
1 个ISO14443A(常见IC卡) 被动目标已发现:
ISO/IEC 14443A (106 kbps) target:
ATQA (SENS_RES): 00 04
UID (NFCID1): 93 18 e2 6b
SAK (SEL_RES): 08
[Found targets=1]
##运行完毕##
然后点击一键解原卡,进行解密工作。这个过程的时间会非常长,而且尽量使用Windows实体机。因为我用Mac上Windows的虚拟机解了3次,每次25分钟,全部解密失败。但是换到surface解了一晚上(我也不知道多久),终于解出来了。解密这个东西也看rp,rp好的虚拟机15分钟就出来了;rp不好的向我一样倒腾了一个晚上。。。
解密完成后,会让你保存文件:
这个文件很重要!!!建议保存两份备用。经过了这一步,你就已经成功一大半了!
提取UID
我不知道其他卡是不是也是这样子,反正大同小异吧(ε=ε=ε=┏(゜ロ゜;)┛
进入到m1t,也就是解密的软件。点击上面的高级操作模式,打开Hex编译器:
在Hex编译器中打开刚刚机密出来的文件,打开扇区0,看到第0块,选择前8位复制下来,这就是我们的UID。
再新建一个文件,点击工具——修改UID,然后将刚刚获得的UID号给弄进去,另存为另一个dump文件。我叫他e2.mfd。
写UID
回到m1t的高级操作模式,找到最右边CUID写,选择刚刚的e2.mfd,然后将另一张CUID卡放到读卡器上,写入。应该会看到这样的输出:
正在使用智能KeyABN…
开始执行CUID/FUID卡片写入……
NFC设备: NFC-Device 已打开
已找到Mifare Classic卡片:
ISO/IEC 14443A (106 kbps) target:
ATQA (SENS_RES): 00 04
UID (NFCID1): 93 18 e2 6b
SAK (SEL_RES): 08
推测大小: 可能是 1024-byte 大小的卡片
提示: 这张卡不需要后门写 (W)
需要写入 64 个块 |................................................................|
完成!写入了 64 / 64 个块.
##运行完毕##
模拟
将刚刚写好的空白CUID卡模拟到小米手环(或者其他NFC设备)上,然后就大功告成。。。了吗?没有!请继续看。
第二次写入
又一次回到m1t的高级操作模式中,
找到选择key.mfd,选择到e2.mfd,然后将小米手环(NFC设备)放到读卡器上,点击写M1,选择被解密的卡的文件,就是那个dump文件,开始写入。小米手环需要戴在手上。这样,才终于成功!应该会看到这样的输出:
正在使用智能KeyABN…
开始执行写入M1卡片……
NFC设备: NFC-Device 已打开
已找到Mifare Classic卡片:
ISO/IEC 14443A (106 kbps) target:
ATQA (SENS_RES): 00 04
UID (NFCID1): 93 18 e2 6b
SAK (SEL_RES): 08
推测大小: 可能是 1024-byte 大小的卡片
需要写入 64 个块 |...............................................................|
完成!写入了 63 / 64 个块.
##运行完毕##
验证
还是打开m1t的高级操作模式,这一次选择key.mfd的时候选择被解密的卡的文件(dump),然后将手环放在读卡器上,点击读M1。然后会弹出保存文件的对话框,我保存为band.dump。
接着找到差异比较这个按钮,点击。
在A、B处分别选择被解密的卡的dump文件,和band.dump,随后比对。如果只有一个块不同,就大功告成!
总结
这一次折腾真的搞心态,还是希望HNFMS快点上指静脉把!
发表回复