学校水卡、本地公交卡破解记

写在前面:破解卡只为科学研究所用,并探讨数据加密升级的必要性。

很早就在网上看过有网友发帖称破解了自己学校的水卡,颇有感触,上某宝查了下需要购买的设备ACR122U,居然要100多元,省吃俭用许久后我终于下单。破解完成后发现并没有我想象中这么难。

我已经破解了四张卡且都为IC卡,我学校有新版洗澡卡和旧版洗澡卡,还有开水卡,第四张就是本地的公交卡了。如下图,三张水卡外表其实差不多。

         

破解软件截图:

我破解的卡中只有新版洗澡卡是全加密卡,其他三张卡均为半加密或未加密卡,多次刷卡后分析数据可知只有1个扇区的数据发生变化,几张卡数据加密方式大同小异,就只贴两组数据(为方便阅读,我将该数据块放入表格):

 

刚看到这些数据实在一头雾水,在网上检索相关资料后,我终于破解了加密数据的算法:

3和4字节反位转为十进制即为卡金额,HEX(08BD)=DEC(2237),HEX(08CE)=DEC(2254),

第5字节为刷卡次数,每在刷卡机上刷卡一次,不论消费金额多少都将数据加1,

第2字节为3 4 5字节数据之和(CC=BD+8+7,DF=CE+8+9),

第6字节为2字节和 14字节异或(33=CC xor FF,20=DF xor FF),

第16字节为6字节数据加2,

 1字节为2至14字节所以数据的异或(B2=CC xor BD xor 8 xor 7 xor 33 xor FF)。

这里只介绍了一张卡的加密算法,其他几张其实都差不多,一通百通,主要懂得异或运算和十六进制和十进制相互转换的话就手到擒来了。

后来我发现用ACR122U无法破解我校新版洗澡卡,尝试很久之后才知道此卡为全加密卡,我尝试使用穷举法破解扇区KEY,但我发现我根本不可能穷举的出KEY,因为KEY是32个16进制数,组合有16的32次方,破解工程量之大难以想象。用ACR122U无法破解,但能使用PM3等高级破解设备破解,某宝售价200元以上,我入手了一部后,发现果然可以破解。

知道其中两个字节数据为金额位,那么想要修改金额就只能改这两个字节,如果都改为FFFF的话一个就是最大金额了,是65535,其他字节数据溢出则去掉,只取后两位即可,我尝试了一下,如下图

至此破解完成。想起以前中学时的饭卡是有充值上限的,最多600元,原因应该就在于此吧

显而易见,全加密卡比半加密卡的加密性更高,破解成本也更高,但也不是不可破解的,我校的饭卡已经升级为联网卡,所以不可破解,如同岭南通和一些大城市的公交卡均为联网卡,无法破解。现在为了提高卡加密性也早就出现了CPU卡但也是可以破解的,但本人还不了解。卡的加密安全任重而道远。

转载于:https://www.cnblogs.com/undezhi/p/9099694.html

  • 8
    点赞
  • 68
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值