分析一张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;所以,就推出了,①区域和③区域有关,并且他们是互补的。

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

作者:IT同路人

(文章转载请注明来自:IT同路人论坛)

分类: 教程分享 标签: 暂无标签

评论

暂无评论数据

暂无评论数据

目录