手动卸载dll的方法(步骤)(此方法只针对手动注入的DLL有效)

Posted mktest123

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了手动卸载dll的方法(步骤)(此方法只针对手动注入的DLL有效)相关的知识,希望对你有一定的参考价值。

1、找到目标进程Pid(ProcessEntry32结构体)

2、通过dwPid找到目标dll的模块句柄(MODULEENTRY32结构体)

3、根据找到的Pid打开目标进程
hProcess = OpenProcess(PROCESS_ALL_ACCESS,FALSE,dwPid);

4、获取FreeLibrary()函数的地址
hModule = GetModuleHandle(L"kernel32.dll");
pThreadProc = (LPTHREAD_START_ROUTINE)GetProcAddress(hModule,"FreeLibrary");

5、在目标进程中运行远程线程
hThread = CreateRemoteThread(hProcess,NULL,0,pThreadProc,me.hModule ,0,NULL);

以上是关于手动卸载dll的方法(步骤)(此方法只针对手动注入的DLL有效)的主要内容,如果未能解决你的问题,请参考以下文章

Windows x86/ x64 Ring3层注入Dll总结

SetWindowsHookEx DLL 卸载

手动向Spring容器中注入对象

Spring源码解读---依赖注入源码解析

Spring源码解读---依赖注入源码解析

Spring源码解读---依赖注入源码解析