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


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

    很早就在网上看过有网友发帖称破解了自己学校的水卡,颇有感触,上某宝查了下需要购买的设备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卡但也是可以破解的,但本人还不了解。卡的加密安全任重而道远。

  • 相关阅读:
    垃圾回收器
    垃圾回收相关概念
    Spring Cloud 框架 -- Spring Cloud Gateway
    Spring Cloud 框架 -- Zuul
    报错:Failed to read artifact descriptor for org.springframework.cloud:spring-cloud-starter-netflix-zuul:jar:2.2.2.RELEASE
    Spring Cloud 框架 -- Resilience4j
    Spring Cloud 框架 -- OpenFeign
    Spring Cloud 框架 -- Eureka 服务的注册与消费
    Spring Cloud 框架 -- Hystrix 的基本介绍与使用
    打包 Spring Boot 项目报错:Failed to execute goal on project provider: Could not resolve dependencies for project com.example:provider:jar:0.0.1-SNAPSHOT
  • 原文地址:https://www.cnblogs.com/undezhi/p/9099694.html
Copyright © 2020-2023  润新知