打补丁方法可以修复程序的BUG,给程序添加新功能。


打补丁的对象可以是文件,内存,数据,代码,等等。。。


我们今天就用打补丁的方法来把helloworld程序中的字符串改掉!


首先呢,OD载入程序,****核心原理学习笔记(五):实战“打补丁方法”修改字符串


然后,我们跳到程序入口点,也就是main函数,之前我们讲过,可能大家也记得,0x401000.


****核心原理学习笔记(五):实战“打补丁方法”修改字符串



我们可以清楚的看到helloworld字符串存放在了push    0x40ED00,这个地址,然后,我们在数据区(左下角),跳过去。

****核心原理学习笔记(五):实战“打补丁方法”修改字符串


我们看到了字符串,然后呢,我们选中helloworld这几个字,然后按下Ctrl+E,快速编辑。


编辑的时候要在Unicode里面编辑,最好字数相同,防止内存溢出。




****核心原理学习笔记(五):实战“打补丁方法”修改字符串


然后确定。



然后我们F9运行起来,看看效果:


****核心原理学习笔记(五):实战“打补丁方法”修改字符串



当然,这还没有完事,因为如果我们关掉OD,程序还是没有被修改的,我们现在的修改只是暂时的。


我们如何保存我们修改的程序呢?


很简单,


选中我们修改的字符串,当然也可以往后多选中一点。


鼠标右键:


****核心原理学习笔记(五):实战“打补丁方法”修改字符串


点击复制到可执行文件,然后在弹出的窗口继续鼠标右键,保存文件:


****核心原理学习笔记(五):实战“打补丁方法”修改字符串


保存到桌面:****核心原理学习笔记(五):实战“打补丁方法”修改字符串


我们双击运行一下测试


****核心原理学习笔记(五):实战“打补丁方法”修改字符串



成功!



大家有没有新的收获呢?


相关文章: