用OllyDebug来爆破(破解)一个程序

 逆向破解这块我也是个刚起步的小菜,入门都还算不上吧,看了点基础教程,

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

工具:

peid         //查壳工具

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


 

首先自己写了个程序来做测试,一个登录程序。在我们不知道正确密码的情况下来破解(爆破)这个程序

由图我们可以知道程序的正确密码其实是qwer123。我要破解这个程序 就是要让输入错误的密码能成功登录!

 拿到一个程序首先要做的就是查一下壳,看看加没加壳,如果加了壳,我们还要脱壳。由图可以看见并没有被加壳

所以就节省了脱壳这项步骤吗,显示的信息为Borland C++ 1999编译器写的程序。

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

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

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

然后我们向上翻,可以看到有一条je命令(汇编判断语句),这里就是破解的关键点。

仔细看的话 左边有一条线,je的意思是:上面的字符串比较判断,相等就跳转,不等就不跳。

现在我们右键je这行用NOP填充掉,nop就是它什么也不能做,说白了就是不让它跳转。

让它这条判断语句执令失效

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

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

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

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

打赏

发表评论

电子邮件地址不会被公开。 必填项已用*标注

😉😐😡😈🙂😯🙁🙄😛😳😮:mrgreen:😆💡😀👿😥😎😕