今天就动手来练习一下怎么用Olldbg来爆破一个程序。

工具:

peid         //查壳工具
OllyDebug    //反汇编、动态调试工具 简称OD

 
首先自己写了个程序来做测试,一个登录程序。在我们不知道正确密码的情况下来破解(爆破)这个程序
 
由图我们可以知道程序的正确密码其实是qwer123。我要破解这个程序 就是要让输入错误的密码能成功登录!
 

拿到一个程序首先要做的就是查一下壳,看看加没加壳,如果加了壳,我们还要脱壳。由图可以看见并没有被加壳
所以就节省了脱壳这项步骤吗,显示的信息为Borland C++ 1999编译器写的程序。
 

可以看见程序有提示关键字登录失败什么的,就说明程序里有个判断, 现在我们把程序载入OD (我这里用的是吾爱破解论坛的OD)然后单击右键—-中文搜索引擎—智能搜索  


接下来跳到字符串界面,然后我们在ctrl+F来搜索刚才提示的字符串关键字。

找到后在双击这行跳到汇编主界面,下图跳到了这条字符串的汇编处。

然后我们向上翻,可以看到有一条je命令(汇编判断语句),这里就是破解的关键点。
仔细看的话 左边有一条线,je的意思是:上面的字符串比较判断,相等就跳转,不等就不跳。

现在我们右键je这行用NOP填充掉,nop就是它什么也不能做,说白了就是不让它跳转。
让它这条判断语句执令失效

填充掉之后我们还要保存文件 右键选择复制到可执行文件—所有修改





选择全部复制后最后保存到桌面测试…

最后重新运行程序,可以看见用前边提示错误的密码现在提示成功登录,

无论输入什么都能登录成功,这样就成功破解了程序。