破解这方面我也是新手,入门都应该都还算不上吧。方法都是些网上搬下来的,照葫芦画瓢而已,大家勿喷,都是些科普文,希望能帮到像我一样的新人。
什么是OllDebug:
OllDebug是一个反汇编工具,动态追踪工具,Ring 3 级的调试器,简称OD,功能强大。
什么是加壳:
其实就是利用特殊的算法对可执行文件进行加密、压缩等保护。比如某些软件的版权信息需要保护,不想被人修改。或者一些程序太大用一些压缩壳来进行压缩使程序变小,还有一些病毒木马使用加壳来躲避杀毒软件等等。
破解登录程序:
自己写了个程序来做测试,一个用户登录程序,代码如图所示。
登录程序代码
由图我们可以看见程序的正确密码是qwer123,这里为了做演示,所以我们要在不知道密码的情况下来如何破解此程序。
用PEID来查程序有没有加壳
首先拿到一个程序,第一步要先用查壳工具进行查壳。如果程序被加壳了,我们还得先进行脱壳后在进行后期工作,由图可以看见程序没有被加壳,显示的是一个C++程序,Borland C++ 1999编译器写的程序。
第一步打开程序,随便输入一个密码来登录,可以看见程序有提示错误信息。
然后我们打开OD,在用OD打开我们的程序,根据刚才提示的关键字来搜索程序里的字符串,单击鼠标右键选择中文搜索引擎选择智能搜索。
然后我们在ctrl+F来搜索刚才提示的字符串关键字,登录失败提示的字符串。找到后在双击这行跳到汇编主界面。
这里跳到了这条字符串的汇编处,然后我们向上翻,可以看到有一条je命令(汇编判断语句),这里就是破解的关键点。
仔细看的话左边有一条线,je的意思是:上面的字符串比较判断,相等就跳转,不等就不跳。
接着我们在右键je这行用NOP填充掉,NOP告诉程序就是它什么也不能做,说白了就是不让它跳转。
填充掉之后我们还要保存文件, 右键选着复制到可执行文件,所有修改,选着全部复制即可。
最后别忘了保存一下程序,保存后我们在来进行测试。
可以看见我们前边提示错误的密码现在提示登录成功,说明我们绕过了程序中源码判断的机制,也不知道说的对不对,这样就破解了一个简单的登录程序了。
联系客服