手动给生成的exe文件的代码节.text中加入MessageBox弹框过程
0、先手动把随机基址去掉,不然每次程序启动,程序起始位置都要变化,在PE结构中对应的属性的在IMAGE_OPTIONAL_HEADER中的DWORD DllCharacteristics字段。
64位程序对应的hex值"6081"改成"2081",对应32位程序的话,此处是"4081"改成"0081"

1、首先要在源代码中引入#include<windows.h>头文件,引入MessageBoxW函数。
2、生成exe之后,找到该函数MessageBoxW的绝对地址,可以在od使用bp MessageBoxW找到为0x76AE00EF。
3、获取要添加代码的硬编码
0x6A,0,
0x6A,0,
0x6A,0,
0x6A,0,
0xE8 ,0,0,0,0,
0xE9 ,0,0,0,0,
4、找到要添加的代码位置.text,画出对应的位置。


对应位置先修改为硬编码的值

5、把代码中跳转地址由原来的0改为真正的跳转地址,现在我们填的是0,先找到ImageBse为0x00400000,
EntryPoint为0x00011073
我们需要计算出最终的跳转地址,

6、完善跳转地址,修改为计算好的偏移地址。

6、修改OEP地址为新的地址,0x00014617

7、测试最终结果。



浙公网安备 33010602011771号