crack123 发表于 2005-4-6 09:39:25

算法演义(初学者进)

掌握算法最基本的是用户名取abcde,其相应ascii码是61,62,63,64,65 (16进制),这些一定要牢记于心。你在各个调试软件中所看到的寄存器值都是16进制的。切记不要见到 call就进入。若经过某个call,发现用户名变成ABCDE,其ascii码是41,42,43,44,45 (16进制),那么此call的作用就是小写转大写,再追入此call就显得多此一举了。

找到算法关键的一段循环或进入关键call,这时开始警觉,慢慢跟踪,单步追踪时时刻留意和观察各个寄存器的变化,主要是eax,ebx,ecx,edx。下面一段是典型的计算注册码的循环。

由于OllyDbg的布局设计,使用它观察注册算法比TRW更为清晰、流畅。

在某个寄存器中已存放着用户名字符的个数

111111 movsx XXXX,XXXXX 依次取用户名

.................

    inc ecxecx是计数器

...............

    cmp xxxx,xxxx 比较用户名是否取完

jl或jg 111111 没有取完就跳回去取完就向下走

当你看到某个寄存器中61,62,63,64,65周期性出现时,就会发现循环开始了,

算法就在这一块了,分析和检查出它的算法流程吧,其实一切并不难,祝:早日成功!

yijun 发表于 2005-4-6 13:01:46

辛苦了,支持一下^_^

xbb[DFCG] 发表于 2005-4-11 21:22:46

支持一下。

cha23 发表于 2005-5-4 13:50:37

好东西啊!

abin 发表于 2005-5-9 09:23:02

好!!谢谢

wzwgp 发表于 2006-1-14 10:59:53

对初学者太有用了,能详细一点就更好了!
谢谢!

铁马冰河 发表于 2006-1-28 20:43:31

好东西,但是不是任何一种语言编写的用户名窗口字体都是以ABCDE的代码出现的呢?

P.Y.G 发表于 2006-3-3 11:47:58

多一些这种适合我们超菜鸟的教程,多谢楼主分享

goldharp 发表于 2006-3-4 16:45:30

学好ASM 不然反推算法 很难很难

china 发表于 2006-3-6 01:15:29

页: [1] 2
查看完整版本: 算法演义(初学者进)