按F9键(或者按CTR+F12组合键跟踪步过  CTR+F11 跟踪步入)让程序运行,再点击菜单查看->RUN跟踪,或者点击工具栏上的那个“…”符号,打开RUN跟踪的记录窗口看看:

ed34e4f993f9d07fa8d311bc.jpg

我们现在再来看看统计的情况:

 5f4eaff3af6dd9a27931aaa6.jpg

 我们只关心那些执行过一次的指令。随便选择一条双击可以跳到相应的反汇编窗口中。

在这我们选  00401082地址处的这一条。来到这:

7b7e492c7e765e591f308981.jpg

 

在这里我们看到了我们熟悉的函数GetDlgItemTextA函数看到了我们输入的用户名的转换“2222222….”我输入的是2。

这里的指令都是执行过的。这也叫逆向分析嘛RUN跟踪的作用。。

我们反方向找到了提取用户名的地方了 所以可以下断了。。就在地址4010A6处的那条指令上按F2 即可。

现在删除所有其它的断点,点菜单调试->关闭RUN跟踪,(最终就为找这个断点。。。嘎嘎)

现在我们就可以开始分析了:作者说了

对于新手来说,可能这个crackme的难度大了一点。没关系,我们主要是学习OllyDBG的使用,方法掌握就可以了(以后破解的时候再回头看)

最后说明一下:

1、这个程序在设置了消息断点后可以省略在代码段上设访问断点那一步,直接打开RUN跟踪,消息断点断下后按CTR+F12组合键让程序执行,RUN跟踪记录中就可以找到关键地方。

2、对于这个程序,你可以不设消息断点,在输入用户名和注册码后先不按那个“Check”按钮,直接打开RUN跟踪,添加“所有函数过程的入口”后再回到程序中点“Check”按钮,这时在OllyDBG中打开RUN跟踪记录同样可以找到关键位置。

 

RUN跟踪还木有整明白感觉很强大消息断点需要脱壳经验啊。。继续。。。