『折腾』解密NFC!!饭卡再见!!
Last updated on June 18, 2024 pm
起因
在QFLS吃饭直接刷指静脉就可以了,而在HNFMS竟然要刷饭卡!!作为口袋里力求什么都不带的人来说,每天都揣着一张饭卡就太不爽了。所以,我看了看手上的手环。。。 感谢WZB提供工具和指导!!
原理
HNFMS的校园卡是半加密卡,也就是部分扇区加密。因此,我们要先把加密的扇区通过暴力破解出来。接着将解密的零扇区(UID编号,也就是卡的编号)写入一张空白卡,然后用手环模拟空白卡,这样手环上卡的UID编号就是原始饭卡的UID了,学校的读卡机就会认为手环上的卡是原始卡。 光让读卡器认出卡还不够,卡里的内容正确才能够正常使用卡。因此,需要将剩下的63个扇区(一张UID卡总共有64个扇区,我们已经将第零扇区模拟完成)写入手环内。这时,我们就可以直接将数据用读卡器写进去手环了。最后,你的手环的所有扇区就和原始卡完全一样了,你也就可以正常写入了。
- 注意,HUAWEI的手环及手表是CPU模拟NFC(好像是这样),因此并不支持直接写入数据,所以不适用于本文章所使用的方法。可以出门左转去Bing搜一下~
过程&教程
准备
硬件
- 一个NFC读卡器,USB,可以到某宝上直接搜索购买,也可以购买pn532之后自己连接USB线,这是pn532的样子: 更正:PN532是红色的板子,上面连着的杜邦线另一头是USB接口,芯片是CH340
- 一台Windows的电脑,建议不要用虚拟机,原因等下讲。
- 一张CUID空白卡,虽然百度上有不用CUID的做法,但是原理就是将原卡当作CUID卡进行刷写,我感觉不太安全。
- 折腾的心态~
软件
来自2023/05/23更正:官方驱动已经通过了微软的签名,驱动签名可以不用关闭。 官方驱动下载 M1T(下面要用的软件)的GitHub仓库
如果你买的是某宝上的NFC读写器,驱动就按照商家的进行安装就好了。如果你用的和我一样是pn532,那么对于Windows7及以上的系统(vista我不知道要不要),需要把驱动签名给禁用。禁用也很简单,你也可以度娘,也可以按照我写的做也可以。 进入“设置“,在搜索框中输入”恢复“,进入”恢复选项“,然后找到”高级启动“并重启。 欸算了,这是Windows11的重启方法,剩下的步骤和Windows10一样,我就放出链接就好了把 进入驱动签名,Windows10 关闭驱动签名之后,先去下载这个安装包,里面有驱动和NFC工具: 下载(已失效,请见上文“来自2023…”) 安装驱动的时候,要先插入pn532,然后到设备管理器里面去安装。选中”USB Serial**“,右键,更新驱动,从本地选取驱动,然后选择这个文件夹,安装就好了。 这时再看你的设备管理器,会出现这个设备: 至此,准备工作完成。
解密
打开这个文件: 然后点击检测连接,应该会看到这些东西输出:
1 |
|
如果没有看到,就重新把驱动给装一遍把。 接着,将饭卡(需要解密的卡)放到读卡器上,先点击扫描卡片,应该会看到这些:
1 |
|
然后点击一键解原卡,进行解密工作。这个过程的时间会非常长,而且尽量使用Windows实体机。因为我用Mac上Windows的虚拟机解了3次,每次25分钟,全部解密失败。但是换到surface解了一晚上(我也不知道多久),终于解出来了。解密这个东西也看rp,rp好的虚拟机15分钟就出来了;rp不好的向我一样倒腾了一个晚上。。。 :razz: 解密完成后,会让你保存文件: 这就是你的原始卡文件,也就是解密后卡的文件。相当于你已经把一张实体卡转换为数据,也就是说只要有这个文件就可以在无数设备上模拟你的原始卡。因此, 请务必保管好此文件,不要丢失或泄露!!!
提取UID
我不知道其他卡是不是也是这样子,反正大同小异吧(ε=ε=ε=┏(゜ロ゜;)┛ 进入到m1t,也就是解密的软件。点击上面的高级操作模式,打开Hex编译器: 在Hex编译器中打开刚刚机密出来的文件,打开扇区0,看到第0块,选择前8位复制下来,这就是我们的UID。 再新建一个文件,点击工具——修改UID,然后将刚刚获得的UID号给弄进去,另存为另一个dump文件。我叫他e2.mfd。 这就是只包含你的UID编号的一个文件,接下来我们要把UID编号弄到手环里去
写UID
回到m1t的高级操作模式,找到最右边CUID写,选择刚刚的e2.mfd,然后将另一张CUID卡放到读卡器上,写入。应该会看到这样的输出:
1 |
|
注意,除了CUID空白卡之外,其他类型的卡都无法写入第零扇区。这就是为什么我们要用模拟实体卡的方法将第零扇区写到手环中。也就是说,你并不能在手环上开通一张空白卡当作CUID卡。 所以,如果你只写入了63个块,可能就是上面所说的原因。 另外,如果出现无法写入,可以尝试重启软件(M1T)。众所皆知,重启可以解决900%的问题~
模拟
将刚刚写好的空白CUID卡模拟到小米手环(或者其他NFC设备)上,然后就大功告成。。。了吗?没有!请继续看。
第二次写入
又一次回到m1t的高级操作模式中, 找到选择key.mfd,选择到e2.mfd,然后将小米手环(NFC设备)放到读卡器上,点击写M1,选择被解密的卡的文件,即原始卡的解密文件,就是那个dump文件,开始写入。小米手环需要戴在手上。这样,才终于成功!应该会看到这样的输出:
1 |
|
实测,key.mfd使用原始卡文件(.dump)也可以,如果不行就按照文章的来吧。
验证
还是打开m1t的高级操作模式,这一次选择key.mfd的时候选择被解密的卡的文件(dump),然后将手环放在读卡器上,点击读M1。然后会弹出保存文件的对话框,我保存为band.dump。 接着找到差异比较这个按钮,点击。 在A、B处分别选择被解密的卡的dump文件,和band.dump,随后比对。如果只有一个块不同,就大功告成! 如果不嫌麻烦,也可以手动用WinDEX软件打开两个dump来进行对比。
总结
有时候UID不一样,数据相同也可以正常使用,如HNFMS的卡UID不一样除了不能借书外,吃饭等消费还是可以进行的。这一次折腾真的搞心态,还是希望HNFMS快点上指静脉把! [mdx_ad][/mdx_ad]