M1卡简介

M1卡分为16个扇区,每个扇区对应4块(块0-块3),共64块,编号为0-63.第0扇区的第0块用于存放厂商代码
其余区的第0-2块用于存放数据,块3为控制块用于存放密码A、存取控制、密码B,结构如下
A0 A1 A2 A3 A4 A5 FF 07 80 69 B0 B1 B2 B3 B4 B5
(密码A 6字节) (存储控制 4字节) (密码B 6字节)
并且每个扇区块3中的密码和存储控制全部都是独立的,独立控制本扇区的各种操作

破解思路

破解M1卡的秘钥读出数据然后去消费多次,分析比对每次的数据找出控制金额的扇区及加密方法
从而实现自由充值金额

工具准备

读卡设备ACCR122U

破解秘钥软件

M1水卡一张

M1写卡软件

经过

大一开学时后宿舍买了5张水卡,每张卡只有20元钱,买的时候阿姨说用完了不能充值,只能拿回去换,水卡还能抵2块钱
不想这学期开始后,饮水机支持了微信支付,刚好水卡里面也没钱了,就准备去宿管阿姨那把水卡退了
结果阿姨不给退,然后就有了下面的经过
使用图2破解出来的M1卡 Key A:201406022222 Key B: FFFFFFFFFFFF
然后三次打水后分别记录了卡内剩余的余额和读出了卡内的数据,经比对发现只有2扇区1区块的数据不同(好多原始数据的忘截图了~~~这里拿一张改过数据的卡讲下原理),如下

AC2600000000000B000000000000AAC4

很明显这是16进制,转换成10进制看下

2.2882452255562985e+38

溢出了,明显方法不对
经过查阅资料发现最常用的加密方法就是进制前后倒置下,AC26 —> 26AC 转换成10进制就是 9900
卡里的余额是99元,结果很明显,饮水机的显示屏一共5位,第三位是小数点,9900前两位是整数位,后两位是小数位

结果

明白了加密算法我们改一张空水卡的数据试试

哈哈哈先来整整一壶水洗个脚
从此隔壁几个宿舍的水卡被我们宿舍全包了

最后

读卡器是某宝买的,软件是商家送的,思路是网上搜的

本文仅做交流分享,不负任何法律责任

标签: 技术宅

已有 4 条评论

  1. 哈哈哈,看到这个我就想到了我大一的时候破解水卡了,宿舍热水太坑了,洗个澡要三四块,现在毕业了,走的时候把买的那个机子放到了我衣柜里特意开得藏东西的小隔层。算是留给了有缘小学弟,看他们有没有造化了23333

    1. 哈哈哈,我们学校今年饮水机全部换成了微信扫码的,我还有好几张卡都是99元的还没用出去呢,不敢去退水卡的地方退钱

      1. 你还想退钱,这种卡是分区存储加密信息的,之前在破解的时候也是在破解加密算法的时候斗智斗勇好几天偶然发现个人信息也是存储在里面的,可以看到名字和记录,只不过不是和金额在一个扇区,鬼的很

        1. 我十分确定我们这卡是不记名的,所以才敢有退钱的念头

添加新评论