一切从第一篇文章开始,这是学习逆向技术的启蒙课,请下载课件,并跟随我的不发一步步学习软件逆向技术。
以下是一个简单的登陆提示框,当用户输入正确的用户名和密码时,则会提示破解成功,如果输入错误则提示错误,当然我们这里默认是不知道密码的,我们的任务就是想办法在不知道密码的情况下强制绕过这个登录限制,完成这个软件的破解任务,本关非常的简单也非常的基础,希望能够认真的掌握这一破解技术。
先来看一下这个小程序的核心代码,这样有助于你理解破解流程,如下首先判断两个编辑框是否为空,如果为空则会弹出一个MessageBox信息框,提示用户密码错误,并清空两个编辑框。
否则提示用户破解成功,也就通关了,这个软件有很多中破解思路,其中最常用也是最简单的就是搜索字符串,当然你也可以下一个MessageBoxA的断点来完成破解,由于是入门我们就使用字符串的方式来破解这个程序了。
1.直接打开我们准备的课件OllyICE,然后直接将我们的CM_01.exe拖入OD程序中去。
2.直接OD载入这个待破解的程序,发现并没有壳,这里的特征是VC6.0,你或许会有疑问,为啥易语言编译出的代码是VC6的特征,其实易语言是调用了VC6的链接器,所以看上去很像VC++写的程序。
2.我们用第一种方法来破解这个程序,首先【F12】让程序运行起来,让程序的字符串完全加载,这样有助于我们搜索字符串数据。
3.直接在反汇编窗口【右键】搜索中文字符串,选择ASCII搜索,这里也可以选择智能搜索。
4.接着按下【ctrl +F】 搜索,并输入弹出的错误提示框中的内容,可以看到我们已经找到了,此时直接双击这个错误的字符串。
5.此时可以看到两处弹窗的代码,上面的是成功登录后的弹窗,而下面的则是是失败的弹窗,我们往上找关键的跳转。
6.如上,我们在这个【JE 00401257】处下一个【F2】断点,然后运行程序,并输入随机的帐号密码。
6.当我们点击登录按钮时OD断下了,此时我们的程序处于假死的状态。除此之外,还需要注意在OD中,红色的线条代表跳转成立,而灰色的线条则代表跳转不成立,很明显这里跳转成立了,所以跳过了破解成功,执行了密码错误的提示框,我们此时将je 改为jne 也就是取反的意思。
7.修改完成以后,直接保存这个小程序,反汇编窗口,右键选择【复制可执行文件】,选择按钮。
8.我们直接点击保存按钮,直接保存到桌面,【CM_破解.exe】。
9.运行这个打过补丁的程序,输入随机的用户名密码,然后点击登录,会发现破解成功。
写教程不容易,转载请加出处,您添加出处,是我创作的动力!