破解水卡方法
DX3906 2019-8-12原创 快乐DIY科创茶话

因之前一个回复的kcer要求,发个详细破解谁卡的帖子。

之前在网上搜索花了一个星期才明白,有些帖子不是很详细,在这里只谈我的理解、经验以及注意事项。


前提:

  1. 学校的水卡是IC卡,用手机的手电筒强光照射卡片,出现一个小芯片以及一圈线圈的特征。改数据也只能修改本地数据,至于饭卡金额一般学校都是联网数据的,放在本地的大概也是个傻子才这样做。


 2.需要NFC功能手机


大致步骤:

1.买个射频读卡器读取卡片,遍历法跑完找到密钥(一般一个校区的密钥相同,可以直接给舍友)。

2.再就是下载“MIFARE经典工具”(安卓的,一般上边好像没有,试着网页下载,一定是这个名字,不是其他名字)

3.写入密钥到文件,读取秘钥,截图所有的分区数据,用点水改变金额,以此来确定是哪个分区数据变化了。

4.看分区的加密方式,知道加密规则后就可以自行改写数据了




第一步:破解秘钥(不想买秘钥的可以选择闲鱼搜索“水卡”or“破解水卡”,之前查得价格好像 来去路费+15左右人工费)


设备:ACCR122U 射频读卡器(可以tb找老板要相关软件和数据包)

平台:windows7

软件:NFCGUI-PRO.exe

水卡有16个扇区,每个扇区第一个字段的16个字节是扇区的秘钥对,我们要是想要导出数据就要通过穷举的方法测试出秘钥对,只有知道秘钥对后才可以导出卡片内文件。


秘钥下图所示,就是12个16进制数值(0-9 & A-F )组合而成,所以随便写个循环,文件也可。


破解出来的秘钥如下图,此卡秘钥为534E6F2044FF。(一个学区应该是一样的,只要你们是都到一个充水卡机器上用,他的秘钥就是一样)




二、手机读NFC取水卡信息


由上可知秘钥,接下来手机下载“MIFARE经典工具”(安卓的,一般上边好像没有,试着网页下载,一定是这个名字,不是其他名字)


开启手机NFC功能,水卡放在手机后面,一般多为背面正中,主要可以通过无线充电器接触部位判断。(不要带手机壳等隔绝物,否则容易丢失信号)


进入应用,界面如下图:


主要用左上角:“读标签”    “写标签”     “编辑转存文件”   三个功能


1、首先写入读取的密钥

由图1可知,其实也可以把所有的密钥写入文件中,单读取会非常耗费时间,他回一个一个去尝试。

点击右边“编辑/增加密钥文件”--选择默认的文件--点击打开密钥文件--随便在一个密钥后面--回车另起一行--写入水卡密钥--保存



2、读标签

主界面--点击“读标签”-选择默认密钥文件--点击读取--等待。。。。。。。。。--读取成功

截屏记录下现在的所有分区数据

(并且右上方可以选择保存现在的分区数据,避免后面改错,号可以恢复初始数据)


3、确定水卡分区

水卡16个分区,不同分区保存不同数据,图书馆信息或者身份信息等,所以需要判别哪个分区是水卡数据。

去刷下水卡,再如第2步,读取数据,查看分区是哪个数据变化了。


下图可以看到扇区7是变化扇区,其中扇区6、8、11都是00000,说明未储存数据。



三、破解算法

可以发现扇区7的三行数据,1、2行完全相同。

第三行会改变,我之前尝试发现的规律有:

第一、二行 为实际剩余金额,第三行 为机器充值金额。

大部分卡,前四数字解码规律为:倒置两位数--进行16制转换(下载个16进制计算器就行)


eg:如上图数据,三行前4个数值分别为

58 00 ->00 58  (16进制)->88(10进制)->0.88(金额)

58 00->00 58  (16进制)->88(10进制)

64 00->00 64 (16进制)->100(10进制)->1.00(金额)


可看出重了1块,剩余0.88元。

而后面完整的就需要慢慢破解了:

58 00 00 00 03 00 00 00 00 00 00 00 00 00 46 17


一般可以知道很多00没用,多刷几次水卡得到多点数据,也可以发现这个规律。

后后面03  和46 17的含义就需要破解,


网上简单的规则有:后面数值先16转10进制(这是肯定的),再通过加减计算,与金额有一个固定差值。

或者更简单的,00 00 00 00 00 00 58 6A 00 00 00 00 00 00,就这样只有金额,没有验证数值。


我之前试过用同学的分区数据,刷过来,机器识别不了,所以推断可能还与学号或者卡某一特定数值相关。

所以每次用,只能刷到最初充钱不变的数值。


四、写卡

一般水卡水卡不像我们这么难,所以可以写入自己想要的数值,如:

00 00 00 00 00 00 58 6A 00 00 00 00 00 00

可以改中间金额为任意16进制的金额。


打开应用的“编辑/分析转储文件”--选择上步中保存的文件--打开转储文件--在水卡扇区进行修改数据(我的就是7扇区)--另存为“修改数据”


之后就是主页--“写标签”--“写转储/克隆”--选择“修改数据”文件--进行转储写入数据


就写入成功了!!!!!!!!!



之前看到有破解水卡还是饭卡,然后写入空卡进行售卖的大哥,20元卖50元卡,发展下线,盈利几万元。被请去蹲局子的消息,各位低调,图个乐就行。


来自 快乐DIY科创茶话
3
2019-8-12 09:44:48
1楼

大佬牛B

折叠评论
加载评论中,请稍候...
折叠评论
2019-8-13 08:31:29
2楼

这样刷卡的机子不会警报吗?

折叠评论
1
加载评论中,请稍候...
折叠评论
3楼

真的被抓住就完蛋

折叠评论
加载评论中,请稍候...
折叠评论
4楼

本来我也想破解水卡,但这学期机器换成联网的了😂


折叠评论
加载评论中,请稍候...
折叠评论
5楼

LZ有好几个扇区的密钥没开出来,要是机器偷偷在给你记黑账你都不知道

折叠评论
加载评论中,请稍候...
折叠评论
DX3906(作者)
6楼
引用 化学课代表tan 90° 发表于 2 楼的内容:
这样刷卡的机子不会警报吗?

改本地数据,机子就个读取功能,主要是密钥让你不能改数据。

要是有警报功能,那还不如联网呢,学校才懒得浪费钱🌚🌝

折叠评论
加载评论中,请稍候...
折叠评论
7楼

怎么现在的学生整天就想着做这种事情RFID还有很多可玩的吧

另外问下RDV4有大佬买回来体验了吗(太贵了买不起


折叠评论
加载评论中,请稍候...
折叠评论
8楼

我这的数据加了两层转换,两层转换的数据又分别检验,研究到头秃才解出来。

写了封邮件给校长不过那套系统到现在都没换。

折叠评论
加载评论中,请稍候...
折叠评论
2019-8-14 17:24:16
DX3906(作者)
9楼
引用 kchy 发表于 8 楼的内容:
我这的数据加了两层转换,两层转换的数据又分别检验,研究到头秃才解出来。写了封邮件给校长不过那套系统到.....

开始充个20,读原始数据,后面直接再刷入初始数据。

弄不清楚加密规则,就这样解决。

折叠评论
加载评论中,请稍候...
折叠评论
2019-8-16 01:41:00
2019-8-16 01:41:00
10楼
引用 DX3906 发表于 9 楼的内容:
开始充个20,读原始数据,后面直接再刷入初始数据。弄不清楚加密规则,就这样解决。

这个可以称为重放攻击吗

折叠评论
加载评论中,请稍候...
折叠评论
11楼
引用 DX3906 发表于 9 楼的内容:
开始充个20,读原始数据,后面直接再刷入初始数据。弄不清楚加密规则,就这样解决。

其实pn532不贵,我买的才18块几,一下子破出来了。。。也是正在摸规律

折叠评论
加载评论中,请稍候...
折叠评论
DX3906(作者)
12楼

另外网上有破解编码的exe程序,但那个几乎没有用,感觉只适合开发者的学校。我试了没弄出来。

另提供一个破解思路:


58 00 00 00 03 00 00 00 00 00 00 00 00 00 46 17


用神经网络算法,

58 00的十进制金额作为训练数据

03  46 17的十进制作为三项,目标数据

通过不同金额,多组数据,找出对应关系


[修改于 9 天前 - 2019-08-16 15:30:01]

折叠评论
加载评论中,请稍候...
折叠评论

想参与大家的讨论?现在就 登录 或者 注册

ID:{{user.uid}}
{{user.username}}
{{user.info.certsName}}
{{user.description}}
{{format("YYYY/MM/DD", user.toc)}}注册,{{fromNow(user.tlv)}}活动
{{submitted?"":"投诉"}}
请选择违规类型:
{{reason.description}}
支持的图片格式:jpg, jpeg, png