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

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


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


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


首先呢,OD载入程序,逆向工程核心原理学习笔记(五):实战“打补丁方法”修改字符串_第1张图片


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


逆向工程核心原理学习笔记(五):实战“打补丁方法”修改字符串_第2张图片



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

逆向工程核心原理学习笔记(五):实战“打补丁方法”修改字符串_第3张图片


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


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




逆向工程核心原理学习笔记(五):实战“打补丁方法”修改字符串_第4张图片


然后确定。



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


逆向工程核心原理学习笔记(五):实战“打补丁方法”修改字符串_第5张图片



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


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


很简单,


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


鼠标右键:


逆向工程核心原理学习笔记(五):实战“打补丁方法”修改字符串_第6张图片


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


逆向工程核心原理学习笔记(五):实战“打补丁方法”修改字符串_第7张图片


保存到桌面:逆向工程核心原理学习笔记(五):实战“打补丁方法”修改字符串_第8张图片


我们双击运行一下测试:


逆向工程核心原理学习笔记(五):实战“打补丁方法”修改字符串_第9张图片



成功!



大家有没有新的收获呢?


你可能感兴趣的:(汇编逆向破解)