IDA修改exe并保存运行

IDA修改hello.exe,使得程序hello.exe的输出由“Hello World!”改为“Reverse Me!”
a)IDA打开hello.exe
在这里插入图片描述

b)查看String Windows
在这里插入图片描述
查找到“hello world!”在这里插入图片描述

在这里插入图片描述

c) 单击鼠标右键-Graph View,切换为Graph View,展现各个结构之间的关系。
在这里插入图片描述
在这里插入图片描述

d)将判断指令JZ改为JNZ,这样当输入为true时,程序将跳转输出字符串Reserve Me!
需要设置IDA显示16进制机器码,即图中步骤2、3
在这里插入图片描述
之后IDA就会显示16进制机器码:
在这里插入图片描述
在这里插入图片描述

e) 直接使用IDA修改由0x74改为0x75。
先选中关键代码所在的那一行,打开Edit->Path prodram->Change byte
在这里插入图片描述

其实这里的三种选项都可以修改,
只是Change byte是修改16进制下的代码,显示从开始的那一行到这一节结束的那一行:
在这里插入图片描述

Change word是修改所选中那一行的值:
在这里插入图片描述

Assemble则是直接修改汇编代码:
在这里插入图片描述

现在我们随便使用一种方式把JZ指令改为JNZ,从而改变程序的跳转。之后点击编辑->修补文件->修补程序应用到输入文件:
在这里插入图片描述

再选择修改的范围和输入的文件即可:
在这里插入图片描述

最后我们打开修改过的exe文件
在这里插入图片描述

程序的跳转逻辑已经被更改了。

猜你喜欢

转载自blog.csdn.net/Onlyone_1314/article/details/108697155
IDA