M1卡破解
使用ACR-122U积累了几个.dump文件后,尝试破译M1校验码。
原理
分别将几次消费后的数据 dump 出,统计金额和数据的变化规律,找到所有扇区的含义,修改金额字段的数据。
初期准备
使用软件dump出克隆卡的数据
开始破解
分析导出的Dump文件
将原卡数据与克隆卡消费后的数据进行对比
无明显规律性变化,于是使用在线进制转换化为10进制,发现3106正对应着余额125.50元。
确定金额已经正确分析出来,接下来需要破译校验码规则,在记事本中比对后续数据:
尝试十六进制加减运算等常规校验方式失败,姓名等信息通过字符编码转换亦无对应项,暂时搁置。
几天后,将200.dump、61.dump对比发现,仅3扇区数据发生变化,于是改为破译这6处数值变化。
同样使用记事本记录,未发现规律。
重新打开125.5.dump和147.5.dump,将4个文件第三扇区内容进行对比
1 | 0017D4FFE82B0001F406270000490169 |
发现规律
FF后两项数值即校验码,余额校验算法如图
末两项数值不知用处。
修改尝试
修改余额400.0,转换十六进制:9C 40
修改校验码:63 BF
修改末两项数值:4C 6C
刷卡成功,消费9元,dump刷卡后数据,对比原文件,新增10处改动。
0425为当天日期,0841应为消费时间,但未找出规律,其余数值则对正常使用无影响。
再次修改测试600、1000,均正常使用,至此完成余额校验位破解。
总结
一般数值会加密,善用十六进制计算器,有充分耐心。
卡中可能存有消费日期、上次消费金额、上次消费终端机编号等,不一定能解析出来。
本案例具有偶然性,仅供参考。