手动给生成的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、测试最终结果。

posted @ 2023-07-10 11:18  一日学一日功  阅读(129)  评论(0)    收藏  举报