DLL注入的基本方法

看了姜晔老师的反病毒视频,其中提到了这些流程,就记录下来,方便自己查阅。

注入的流程如下:

1、OpenProcess获得要注入进程的句柄

2、VirtualAllocEx在远程进程中开辟出一段内存,长度为strlen(dllname)+1

3、WriteProcessMemory将Dll的名字写入第二步开辟出的内存中

4、CreateRemoteThread将LoadLibraryA作为线程函数,参数为Dll的名称,创建新线程

5、CloseHandle关闭线程句柄


卸载的流程如下:

1、CreateRemoteThread将GetModuleHandle注入到远程线程中,参数为被注入的Dll名

2、GetExitCodeThread将线程退出的退出码作为Dll模块的句柄值

3、CreateRemoteThread将FreeLibraryA注入到远程进程中,参数为第二步获得的句柄值

4、WaitForSingleObject等待对象句柄返回

5、CloseHandle关闭线程及进程句柄

猜你喜欢

转载自blog.csdn.net/userpass_word/article/details/79607657
今日推荐