OllyDBG修改exe并保存运行

1.熟悉动态分析工具OllyDBG的界面和常用模块
2.掌握使用OllyDBG分析修改可执行文件的方法

一、OD界面
在这里插入图片描述

a.反汇编窗口:显示被调试程序的反汇编代码,标题栏上的地址、机器码、反汇编代码、注释。
b.寄存器窗口:显示当前所选线程的 CPU 寄存器内容
c.信息窗口:显示反汇编窗口中选中的第一个命令的参数及一些跳转目标地址、字串等
d.数据窗口:显示内存或文件的内容。右键菜单可用于切换显示方式。
e.堆栈窗口:显示当前线程的堆栈。

二、OD使用
(1)查找可执行文件中所有字符串:在“反汇编窗口”单击鼠标右键,选择“查找”选项可查看可执行文件反汇编代码的“所有参考文本字串”
(2)修改某个内存地址的数据:
在“数据窗口”按“Ctrl+G”,可查找某个内存地址的值。
在“数据窗口”,选中要修改的数据,单击鼠标右键,选择“二进制”选项 的“编辑”项,可修改数据值。
在“数据窗口”,单击鼠标右键,选择“复制到可执行文件”选项,再选择 “保存文件选项”

OD 修改hello.exe,使得程序hello.exe的输出由“Hello World!”改为“Reverse Me!”

a.OD界面
在这里插入图片描述
b.反汇编窗口:显示被调试程序的反汇编代码,标题栏上的地址、机器码、反汇编代码、注释。
c.寄存器窗口:显示当前所选线程的 CPU 寄存器内容
d.信息窗口:显示反汇编窗口中选中的第一个命令的参数及一些跳转目标地址、字串等
e.数据窗口:显示内存或文件的内容。右键菜单可用于切换显示方式。
f.堆栈窗口:显示当前线程的堆栈。

用OD打开hello.exe,并修改hello.exe.
i.在反汇编窗口,单击鼠标右键。
在这里插入图片描述

ii.在弹出的对话框中,单击鼠标右键,选择‘查找文本’。查找“Hello World”
在这里插入图片描述

在这里插入图片描述

双击Hello World!所在的一行,快速定位到所在的反汇编窗口
iii.在反汇编窗口中修改代码。
1.反汇编窗口,选中’Hello World’所在的行,单击鼠标右键-分析-从模块中删除分析。删除掉 OD的分析结果。
在这里插入图片描述

2.反汇编窗口,选中’Hello World’所在的行,单击鼠标右键-分析—分析代码
在这里插入图片描述

3.从反汇编窗口找到字符串Hello World在内存中的地址,复制地址43402C,后点取消
在这里插入图片描述

4.在内存窗口,查找地址。CtrL+G弹出查找内存地址的窗口。
在这里插入图片描述

5.修改内存中的数据
选中要修改的内存地址,单机鼠标右键,选择二进制->编辑:
在这里插入图片描述

在这里插入图片描述
把“Hello World!”改为“Reverse Me!”,但是“Reverse Me!”比“Hello World!”少一个字符,所以把要多的这个字符去掉,先把最后一个字符改为0A换行符:在这里插入图片描述
再把之前的换行符0A改为00,就是null空字符:
在这里插入图片描述

iv.运行结果
修改之后,复制到可执行文件:
在这里插入图片描述保存
在这里插入图片描述
运行:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/Onlyone_1314/article/details/108697641