Crackme001-Acid_burn(OD版本)

逆向入门之Crackme001-Acid_burn(OD版本)

第一步:调用PEID工具进行查壳

在这里插入图片描述

更具上述显示可以知道没有壳,采用Dephi3.0书写

第二步:通过OllyDebug打开软件,模块的入口地址为0X0042FD68

在这里插入图片描述

点击F9进行运行程序,此时会弹出程序的欢迎界面

在这里插入图片描述

点击确定之后进入程序的主界面

在这里插入图片描述

第三步:查找失败提示的关键词“Sorry”

在弹出的窗口中点击Serial/Name按钮,然后随机输入信息后提示错误的信息,这里记住的关键词是“Sorry”

扫描二维码关注公众号,回复: 14627601 查看本文章

在这里插入图片描述

然后在汇编窗口右键,选择“搜索–>所有被引用的字符串” 如果是其他破解版本的OD可以使用右键中文搜索引擎进行查找

在这里插入图片描述

在弹出的窗口中,我们看到了很多的信息,其中一条就是“Good job dude = )”

在这里插入图片描述

第四步:选中执行的字符串右键鼠标,点击“在解释器中跟随”,或者直接进行双击,即可去往执行的汇编窗口

如果说字符串较多的话可以右键选择搜索文本输入“Good”定位字符串的位置

在这里插入图片描述

第五步:在JNZ跳转处按下F2增加断点,地址为0042FB03

JNZ指令指的是在结果不为0的时候进行跳转

在这里插入图片描述

第六步:继续在反汇编窗口右键鼠标,选择“搜索–>所有被引用的字符串”接着定位“Try Again”然后在反汇编界面进行跟随

在这里插入图片描述

找到JGE跳转按下F2增加断点,地址为0042FA5E

JGE表示的是大于或者等于进行转移

在这里插入图片描述

接着回到.EXE可执行文件中,我们随意输入用户名和序列号之后,点击“Sorry”提示,并且此时程序自动跳转到断点处

在这里插入图片描述
此时我们有两个断点

在这里插入图片描述

第七步:按下F8进行单步步过调试,注意CALL函数不进入,一直运行到下一个断点0X0042FB03处为止

在这里插入图片描述

在这里插入图片描述

第八步:选中该行,右键选择汇编,输入NOP指令,使用空指针进行替换

在这里插入图片描述

第九步:继续按下F8单步步过调试,当执行到0X0042FB18为止,会CALL函数弹出“Good job dude = ”对话框,实现了成功的绕过

在这里插入图片描述

第十步:按下F9运行程序,然后停到0X0042FA5A断点处,继续按下F9运行程序就会提示成功的对话框

在这里插入图片描述

第十一步:同样的方法查找第二个对话框的关键信息,然后在0X0042F4D5处增加断点

在这里插入图片描述

在这里插入图片描述

第十二步:我们点击“Serial”按钮,然后在弹出的对话框中点击“Check it Baby!”按钮后,会定位到0X0042F4D5跳转位置

第十三步:右键选择汇编,使用空指令进行替换
在这里插入图片描述

最终成功逆向该程序

第十四步:保存修改后的可执行文件

右键选择“编辑–>复制所有修改可执行文件”
在这里插入图片描述

在这里插入图片描述

点击可执行文件

在这里插入图片描述

随机输入进行执行

在这里插入图片描述

在这里插入图片描述

成功实现了我们所想的内容

猜你喜欢

转载自blog.csdn.net/weixin_60363168/article/details/127672122
今日推荐