教学目的:在实际的破解过程中,初步熟悉ollydbg的使用方法。
学会破解一般软件的思路。这一点是很重要的。
教学对象:破解初学者。
破解目标:colorpicker V2.06
破解工具:ollydbg1.07 www.pediy.com
磨刀不误砍柴工,我们先分析一下这个软件:
1,采用名字加注册码的保护方式。
2,加了ASPACK 2.11的壳。
3,输入错误的注册码后,有提示窗口出现。
在得到了这些信息后,我们就成功了50%了。
说不如做,我们正式开始破解。 1,用ollydbg载入程序。再现如图画面:
我们现在先简单的介绍一下几个重要的运行键,如下图:

2,在按了运行键后,我们就会发现程序窗口已经出现了。在关于窗口输入注册码,注册后,出现如图一样的画面:

这时,不要按OK按钮。我们回到ollydbg中。搜索错误提示的语句。按下图一样的
操作:

如上图一样,点击完后会出现一个窗口,把它最大化后如图所示:
[page]
大家请注意“绿色”的那一行,我们在那绿色的一行上双击鼠标左键后,就会来到如下的窗口上:

白亮的那一行下就是错误提示窗口的CALL了。程序运行到这,就说明它已经完成了注册码的比较了,所以,我们要找的判断注册成功与否的判断点应该在这条语句的前面。
我们向上翻动屏幕。来到如下图所示的地方:

看上图,绿色的那一行正是跳到注册不成功的语句处。我们就如上图一样在 004A0323 处下一个断点。这样就可以跟踪注册码的形成过程了。(记住:断点要下在离跳转判断点不远也不近处。)
好的,我们转到注册窗口上重新注册。按注册按钮后,我们就会中断在我们下断点的地方:004A0323处。一般来说,我们第一遍跟踪是粗跟踪。也就是说按F8,不要跟进CALL里头地去,我们按F8一步一步来到004A0352处(在这期间,我们要特别的注意右上方寄存器窗口中各寄存器的值。)这时候你在寄存器窗口发现了什么?如下图:

哈哈!大丰收。EDX所指向的地址中的值很象是真的注册码啊。我们如果跟进这个CALL后,就可以看到程序正是拿EAX中的值和EDX中的值相比较。相等的话,在下一个跳转就不跳。如不相等就跳到了注册不成功的语句了。我们可以在右上方寄存器窗口中的零标志位 Z 1 处,双击 1 就可以看到 1 已经变成了 0 .跳转的方向也变成不跳了。这就好象是TRW2000中的 r fl z 指令一样,改变跳转的方向。
哦,对了,我们看到了注册码,应该怎么样把注册码保存下来呢?用笔记吗?注册码太长了吧。有一种更简单的方法。如下图一样:我们在寄存器窗口鼠标右击EDX右边的值,

如上图,点击Follow in Dump后。我们就看见左下方的内存窗口处的值已变成了如下图一样了.

我们如上图一样,选定注册码后,在选定区域右击鼠标------》》》Copy ------>>To file.后,会跳出一个文件保存窗口。你只要选 择一个文件名保存就可以了。保存完后。打开这个文件,就可以找到你的注册码了。
如果我们想保存上面的一段代码,该怎么办呢?我们可以先选定你要保存的那一段代码(就是用鼠标左键先选择你想保存的第一条语句,按住向下拉到你想保存的最后一条语句。)你会看到选定的区域变白了,在选定的区域上按鼠标右键,如下图一样:

就把这一段代码拷贝到剪贴板上了。接下来就是打开一个文本文件复制上去的事了。
####################################
好的,找注册码的过程和ollydbg的大致用法都已经讲的差不多了。要知后事,请听下回分解。(第二篇:ollydbg之脱壳)
·上一篇: DiskBase 5 OLLYDBG破解教学(图)
·下一篇: [今日解说]黑客破解口令常用的三种方法
|