DLL注入

DLL注入

概述:在目标进程中开辟一块内存,把DLL地址写入,然后通过CreateRemoteProcess调用LoadLibrary引用该内存地址来加载该DLL。

1、创建远程线程,此线程需要指定调用的函数地址。通过OpenProcess可以获取目标进程的句柄。

  

2、通过VirtualAllocEx在目标进程中分配内存空间。该空间用于存放待加载DLL地址。

  

3、WriteProcessMemory将内存地址写入目标进程。

  

4、调用LoadLibrary。LoadLibrary存在于Kernel32.dll中,而kernel32.dll在每个进程中的加载位置都一要。通过GetProcAddr获取LoadLibrary函数地址。

  

完整代码如下:

  

无DLL的代码注入

  通过DLL注入的方式,代码载体为DLL。也可直接把代码注入到远程进程中来执行。

原文地址:https://www.cnblogs.com/tekkaman/p/3702530.html