-
-
对刘涛涛先生的扭曲算法的Crackme分析
-
发表于:
2006-10-22 13:41
5631
-
我们以 用户名 12345678
错误的注册码 33333333 为例题
在40147E处下断,我们可以看到 程序把 我们的注册码 算成了16进制的 12 12 12 12 AF AF AF AF 然后后面继续,在40180A处把我们的注册码 算成 15 16 17 18 B6 B7 B8 B9。。。。。
然后再 405310 把我们的 用户名 展成 31 32 33 34 35 36 37 38。。
到此处为止 在堆栈里 把我们的用户名 注册码展成
堆栈地址 12FF18:
假注册码部分16进制:
32 12 12 12 AF AF AF AF 15 16 17 18 B6 B7 B8 B9 1D 1E 1F 20 BE BF C0 C1 25 26 27 28 C6 C7 C8 00
用户名部分:
31 32 33 34 35 36 37 38 31 32 33 34 35 36 37 38 31 32 33 34 35 36 37
展开后就是用户名与注册码混合运算了,
在40226A 处可以看到运算的结果(这个过程最为复杂,的确没时间仔细分析,所以没细看)
在408726处我们就看到把算的一部分 结果读出来了
继续往后,就可以看到 4083DD处的
SUB EAX,3467ABDE
在 4083DD 处我们可以看到
SUB EAX,3467ABDE
如果写注册机重点要把40226A的运算读懂,前边的注册码展开,都简单。
这就是爆破口,把他改成 MOV EAX,00
爆破成功!!!!
小弟不才,献丑了!!!
我很怀恋我的老师(紫竹),希望我的老师身体健康,万事如意!
QQ:6237126
我不能传附件吗?哭。。。。反正就是爆破 4083DD处,把他改为 B8 00 00 00 00, 运行就OK了!!!
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!