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
修改之后
然后将修改进行应用
此时运行程序,然后选择输入,此时显示已经成功
根据上述的操作,我们实现了相关验证的绕过