在Windows系统中,DLL的注入方式大概有以下几种:
1、利用注册表注入
2、利用Windows Hooks注入
3、利用远程线程注入
4、利用特洛伊DLL注入
本文主要简述一下第三种(利用远程线程注入)的流程与注意事项,大概流程如下:
1、打开指定的进程(OpenProcess)
2、在指定进程空间申请虚拟内存空间,为了存放DLL名称(VirtualAllocEx)
3、将DLL名称写入到指定进程的刚申请的虚拟内存空间(WriteProcessMemory)
4、动态装载指定的DLL文件(GetProcAddress)
5、创建远程线程(CreateRemoteThread)
6、释放资源(VirtualFreeEx、CloseHandle)
需要主要的地方是:每执行一个步骤都要检查,如果失败,则需要释放之前申请的资源。
以下是成品的界面截图。下载地址:https://download.csdn.net/download/hellokandy/12102319
如果需要源码,可以联系作者。