破解学校水卡

声明

此文章纯属我想象出来的 :)

准备工作

前提条件

我讲述过程中水卡余额是在饭卡中的,最近水卡系统升级,所以等下的第一次破解指的是升级前,第二次破解指的是升级后

预备知识

学校饭卡或水卡一般使用S50或S70卡,前者容量只有1KB,后者有4KB,当然在复制的时候有些许区别,后面会提到

工具及软件

ACR122U-A9,nfc-mfclassic,S50白卡(第一次破解用到),S70白卡(实际没有用到,但必须尝试)

判断是否能破解

我个人认为只要是S50或S70且水卡机没有联网就可以破解

破解思考

直接修改饭卡里的水卡数据肯定是不行的,假如你某一次吃饭时水卡余额还有10元,饭卡机是联网的,有可能会备份信息,然后你修改了水卡钱,结果下一次吃饭时水卡金额对不上,少了不会什么关系,但如果多了,而且你没有进行充值,会立刻别发现.

上面说了直接修改是不行的,那么我们就需要把数据弄到另一张卡上面去.也就是复制卡,你可能听说过S70没有复制卡,这个等会说

第一次破解

最开始水卡数据直接放在前1k数据区,这就让我可以用软件破解数据后放到另一张卡上去了,这太简单了,S50卡是连第0block修改的

第二次破解

升级之后水卡数据在1K-4K的位置了,我刚开始想的肯定是和第一次一样,把4K数据全部弄出来,再写入S70中

但失败了

我猜测新的水卡机程序可能会验证最开始的数据,因为我的货源和学校卡货源不一样,就必定导致前几位不一样,这怎么办?

这时我突然想到我可以挂失自己的卡,这样我就可以得到一张前几位一样的白卡了,加上水卡机不连网,我老卡可以为所欲为

当然我很快就成功了

注意点

在进行S70卡写入数据时,不能使用windows下那个你们常用的软件

需要使用linux上的nfc-mfclassic才能写入1K后面的数据

补充

安装nfc-mfclassic

  1. sudo apt install libnfc-bin

  2. 官网下载驱动,直接下deb包即可

  3. 每次运行nfc-mfclassic前需要运行

sudo modprobe -r pn533_usb
sudo modprobe -r pn533

破解

破解卡(不是所有卡都能破解)时需要使用mfoc

mfoc的安装非常麻烦,如果编译时看到下列提示

syntax error near unexpected token libusb,

并不是真的代码错了,而是需要安装libusb,如何安装请google

期间可能会有多个软件需要自行编译安装