我是熊猫哥's Blog

一个真的技术宅,网络安全攻城师。hacked

分析一张加密rfid ic

2020-10-29 admini 无线安全

分析一张IC加密

用的是工具:

名称:pm3

全名:proxmark3 easy
独妙匠人小铺


首先得声明,这次并非完全破解了扇区里面真正的算法规律。而是对一些特殊金额数据的总结。


首先我们先观察数据,准备的分别是:10元、20元、30元的扇区数据。如下图:




接着我们对数据进行初步的划分,分析。






差异数据我们把它分为了四个区块。


对于数据分析的思路,我们一般都是从金额位下手。所以,我们对金额进行数据转换,(因为扇区存储的都是16进制的数据,所以我们的转换也同样如此。)

10.00 → 03E8

20.00 → 07D0

40.00 → 0FA0


转换结束,我们立马就能发现金额位在我们的第2块区域,唯一的差异就是扇区里的数据用高低位存储了,所以我们将区域2标的为金额位。


接着,我们看数据之间的关系发现,③区域和④区域,只是做了一个简单的加法,0014 + 2 = 0016,0028 + 2 = 002A,0050 + 2 = 0052。


然后,我们将0014转10进制是发现,等于20,0028 = 40 ,0050 = 80,刚好是我们金额的2倍,于是,我们就确定了③区域的由来。


最后,可以发现,一个运算就是,EB + 14 = FF ,D7 + 28 = FF , AF + 50 = FF;所以,就推出了,①区域和③区域有关,并且他们是互补的。


心得:对于这些特例的分析还是比较简单的,因为开发者并没有运用较难的运算算法,几乎都是在能够想到的范围内。但是上述的计算过程也是只这个卡算法的一个部分而已。我之后的验算过程中,发现这个算法对一些非整数的金额数据并不适用,所以对于这个的算法研究还并没有结束,这也只是将最初的研究结果跟大家分享一下,给大家提供一种思路破解算法。

发表评论:

50 + 73 =