小栗子v5.2.1单Q破解版的破解码算法实现.

作者:TeaBoss | 发布时间:

样本取样

在说明算法之前,我们先看看两个样本.分别是:

2220067959 => 04778C5384778C53840400778C5384000F

1844002667=>  046B3FE96D6B3FE96D04006B3FE96D000F

大家先看看在这两条样本中,是否含有一种规律.

样本分析

先看第一个样本 04778C5384778C53840400778C5384000F

04  778C5384  778C5384  0400  778C5384  000F

现在我们发现,样本是由04 子样本 子样本 0400 子样本 000F排列的

子样本分析

在上文,2220067959生成的样本中,含有778C5384的多次循环.

之前,我以为是某种算法的取值,我尝试了好多算法,并进行比对,但是最后都没能解出来.

但是,我后面一看,这串样本中没有大于F(16进制的最大数).我就向16进制想了想.

在Python中进行Hex(取16进制)运算后,得到以下值

0x84538c77 

当我们把0x后面的信息取出来以后,我们能发现取Hex后的值和子样本有关系 778C5384:84538C77

当我们倒着看这个Hex值时,我们就能发现子样本可能是这样排列的:取Hex后[78:56:34:12]其中的数字表示为在Hex结果中第几位数字.

那源Hex进行排序正好是我们需要的子样本"778C5384"

我们用第二个样本检验一下试试

验证思路

HEX(1844002667)  =>  6DE93F6B

我们以上面规律排序 04  6B3FE96D   6B3FE96D   0400   6B3FE96D   000F

正好验证了上文我们所求的算法值

算法实现(Python)

result =  str(hex([QQ的值]))

buf  =  a[8:10]+a[6:8]+a[4:6]+a[2:4]    #按照子文本规律取值(并删掉0x)
破解码Result = str.upper('04'+result+result+'0400'+result+'000F')
upper:全部小写字母取大写,因为Hex计算后为小写字母.
 
 

最后总结

1.大家觉得破解版是怎么来的(投票)

2.这套系统仅为算法实现,一切后果与作者无关.

本源码为Apache License   支持二次修改并商用,但是请保留原作者.

最后:大家如果商用,请差不多良心点,这样的东西本来也没多大难度.

原项目链接:

https://github.com/TeaBoss-Developer/Xiaolz_Cracked_Key_OLD

 

 

 
标签:工具分享, 实战分享, 思路分享, 学习笔记, 电脑软件