逆向破解这块我也是个刚起步的小菜,入门都还算不上吧,看了点基础教程,先动手练习一下增加点兴趣。嘿嘿
工具:
peid //查壳工具
OllyDebug //反汇编、动态调试工具 简称OD
壳的概念:
作者编好软件后,编译成exe可执行文件。
1.有一些版权信息需要保护起来,不想让别人随便改动,如作者的姓名等,即为了保护软件不被破解,通常都是采用加壳来进行保护。
2.需要把程序搞的小一点,从而方便使用。于是,需要用到一些软件,它们能将exe可执行文件压缩,
3.在黑客界给木马等软件加壳脱壳以躲避杀毒软件。
正文:
首先自己写了个程序来做测试,一个登录程序。在我们不知道正确密码的情况下来破解(爆破)这个程序
程序代码:
由图我们可以知道程序的正确密码其实是qwer123。我要破解这个程序 就是要让输入错误的密码能成功登录!
拿到一个程序首先要做的就是查一下壳,看看加没加壳,如果加了壳,我们还要脱壳。
可以看见没有加壳 ,显示的信息为Borland C++ 1999编译器写的程序。
可以看见程序有提示关键字 现在我们把程序载入OD (我这里用的是吾爱破解论坛的OD)
然后单击右键----中文搜索引擎---智能搜索
接下来跳到字符串界面,然后我们在ctrl+F来搜索刚才提示的字符串关键字。
找到后在双击这行跳到汇编主界面,下图跳到了这条字符串的汇编处。
然后我们向上翻,可以看到有一条je命令(汇编判断语句),这里就是破解的关键点。
仔细看的话 左边有一条线,je的意思是:上面的字符串比较判断,相等就跳转,不等就不跳。
现在我们右键je这行用NOP填充掉,nop就是它什么也不能做,说白了就是不让它跳转。
填充掉之后我们还要保存文件 右键选着复制到可执行文件---所有修改
选着全部复制 最后保存到桌面测试
可以看见用前边提示错误的密码现在提示成功登录,这样就成功破解了程序。