Crackme001-Acid_burn(IDA版本)

Crackme001-Acid_burn(IDA版本)

第一步:运行程序

界面中我们输入用户名和注册码,如果验证失败会显示图中的提示信息。

在这里插入图片描述

界面中我们输入注册码,验证失败就会弹出提示。

在这里插入图片描述

第二步:将我们需要破解的程序加载到IDA中

我们可以双击IDA选则NEW,然后选取我要破解的文件的路径,将它加载进IDA中。

我们同样可以双击IDA选择Go,然后我们将需要破解的文件直接拖拽到IDA中。

在这里插入图片描述

在这里插入图片描述

点击OK进入IDA

在这里插入图片描述

加载进入程序之后随着就会生成图形结构,我们可以观察图形结构分析函数之间以及判断条件的执行。

在这里插入图片描述

第三步:我们根据提示信息在内存区域中寻找与内存中与之匹配的信息提示

在这里插入图片描述

记住地址0042FBD8,回到反汇编窗口

在这里插入图片描述

向上分析指令,寻找疑似的判断条件

在这里插入图片描述

在上述图中,我们可以看到判断条件左侧的箭头指向的是执行错误之后的判断,而跳过了正确的执行指令,所以此时我们的思路就是将这个判断条件的结果相反或者是直接取消掉判断条件用NOP空指针代替。

此时我们选择菜单栏中中Edit—>Patch program —>Assemble

在这里插入图片描述

在我们想要修改的位置输入NOP指令,点击OK

在这里插入图片描述

此时就实现了NOP注入

在这里插入图片描述

然后紧接着按照图片中指示进行操作,将修改应用

在这里插入图片描述

此时运行程序

在这里插入图片描述

此时发现已经成功实现

第二个要求也是同样的操作
在内存中寻找提示信息,然后记住地址,在反汇编窗口进行跳转到对应地址

在这里插入图片描述

向上寻找疑似的判断指令

在这里插入图片描述

在上述图中,我们可以看到判断条件左侧的箭头指向的是执行错误之后的判断,而跳过了正确的执行指令,所以此时我们的思路就是将这个判断条件的结果相反或者是直接取消掉判断条件用NOP空指针代替。

此时我们选择菜单栏中中Edit—>Patch program —>Assemble

在这里插入图片描述

修改之后

在这里插入图片描述

然后将修改进行应用

此时运行程序,然后选择输入,此时显示已经成功

在这里插入图片描述

根据上述的操作,我们实现了相关验证的绕过

猜你喜欢

转载自blog.csdn.net/weixin_60363168/article/details/127759164
IDA