-
-
[原创]PE注入DLL
-
发表于:
2022-8-2 00:14
7493
-
在程序中注入DLL,并在任意位置调用注入DLL中的函数。达到类似Hook的目的。
原本这里是一个函数调用,为了在此处注入代码,jmp到了一个有足够空间的代码区,在执行完注入代码之后又jmp回0x401E2C,使程序按照原来的逻辑执行。
其中0x4034E0到0x4034EA是注入的核心代码,其作用是调用InjectModule.dll中的CommandLooper函数,并传入了两个参数。
PE整个修改过程分享如下。
一、 添加新节
为了有空间插入dll,需要将原有的导入表挪到新的位置,为此添加了新节。将原来的导入表内容填充新节中。
二、 注入导入表
三、修改重定位表
因为随机地址的原因,需要修改重定位表。
所以0x28E6这个位置需要重定位。计算器RVA:
所以需要增加这个重定位项目。
所以需要移动一下原来重定位表的位置,腾出两个字节来增加这个重定位项。
FF15之后的二进制来自IAT表。表示一个偏移(RVA)
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)