Stephen Horizon
Stephen Horizon

『折腾』解密NFC!!饭卡再见!!

起因

  在QFLS吃饭直接刷指静脉就可以了,而在HNFMS竟然要刷饭卡!!作为口袋里力求什么都不带的人来说,每天都揣着一张饭卡就太不爽了。所以,我看了看手上的手环。。。
感谢WZB提供工具和指导!!

过程&教程

准备

硬件

  • 一个NFC读卡器,USB,可以到某宝上直接搜索购买,也可以购买pn532之后自己连接USB线,这是pn532的样子:
    https://pro.goforit.top/stephen-zeng/img/master/202110021.jpg
  • 一台Windows的电脑,建议不要用虚拟机,原因等下讲。
  • 一张CUID空白卡,虽然百度上有不用CUID的做法,但是原理就是将原卡当作CUID卡进行刷写,我感觉不太安全。
  • 折腾的心态~

软件

  如果你买的是某宝上的NFC读写器,驱动就按照商家的进行安装就好了。如果你用的和我一样是pn532,那么对于Windows7及以上的系统(vista我不知道要不要),需要把驱动签名给禁用。禁用也很简单,你也可以度娘,也可以按照我写的做也可以。
  进入“设置“,在搜索框中输入”恢复“,进入”恢复选项“,然后找到”高级启动“并重启。

https://pro.goforit.top/stephen-zeng/img/master/202110022.png

欸算了,这是Windows11的重启方法,剩下的步骤和Windows10一样,我就放出链接就好了把
进入驱动签名,Windows10
  关闭驱动签名之后,先去下载这个安装包,里面有驱动和NFC工具:
下载
安装驱动的时候,要先插入pn532,然后到设备管理器里面去安装。选中”USB Serial**”,右键,更新驱动,从本地选取驱动,然后选择这个文件夹,安装就好了。
https://pro.goforit.top/stephen-zeng/img/master/202110023.png

这时再看你的设备管理器,会出现这个设备:
https://pro.goforit.top/stephen-zeng/img/master/202110024.png

  至此,准备工作完成。

解密

  打开这个文件:

https://pro.goforit.top/stephen-zeng/img/master/202110025.png

https://pro.goforit.top/stephen-zeng/img/master/202110026.png

然后点击检测连接,应该会看到这些东西输出:

开始执行检测设备……

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不好的向我一样倒腾了一个晚上。。。 :razz:
  解密完成后,会让你保存文件:

https://pro.goforit.top/stephen-zeng/img/master/202110027.png

这个文件很重要!!!建议保存两份备用。经过了这一步,你就已经成功一大半了!

提取UID

  我不知道其他卡是不是也是这样子,反正大同小异吧(ε=ε=ε=┏(゜ロ゜;)┛
进入到m1t,也就是解密的软件。点击上面的高级操作模式,打开Hex编译器

https://pro.goforit.top/stephen-zeng/img/master/202110028.png

https://pro.goforit.top/stephen-zeng/img/master/202110029.png

在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的高级操作模式中,

https://pro.goforit.top/stephen-zeng/img/master/202110028.png

找到选择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
  接着找到差异比较这个按钮,点击。

https://pro.goforit.top/stephen-zeng/img/master/2021100210.png

在A、B处分别选择被解密的卡的dump文件,和band.dump,随后比对。如果只有一个块不同,就大功告成!

总结

  这一次折腾真的搞心态,还是希望HNFMS快点上指静脉把!

没有标签
首页      杂文集      『折腾』解密NFC!!饭卡再见!!

Stephen Zeng

文章作者

发表评论

textsms
account_circle
email

Stephen Horizon

『折腾』解密NFC!!饭卡再见!!
起因   在QFLS吃饭直接刷指静脉就可以了,而在HNFMS竟然要刷饭卡!!作为口袋里力求什么都不带的人来说,每天都揣着一张饭卡就太不爽了。所以,我看了看手上的手环。。。 感谢WZB提供工…
扫描二维码继续阅读
2021-10-02