如何正确卸载DLL本身?

时间:2019-05-26 23:05:37

标签: c++ windows winapi dll dll-injection

我在 ntdll.dll 加载后向进程注入了DLL。 然后,在 DllMain (事件事件为 DLL_PROCESS_ATTACH )中,我调用LdrRegisterDllNotification并等待何时将加载特定的DLL(例如, statistic.dll >)我想挂钩的功能。 如果未加载 statistic.dll ,则需要从进程中卸载注入的DLL。

主要问题是:如何正确卸载注入的DLL?

我想通过其他线程来实现它,该线程将在过程中(一段时间后)检查 statistic.dll 库(或可以在 statistic.dll < / strong>加载)并卸载注入的DLL(如果未加载)。但据我所知,我们无法在DllMain中创建线程。

1 个答案:

答案 0 :(得分:0)

要使用FreeLibraryAndExitThread卸载DLL,请确保已断开所有挂钩并清除了所有可能首先导致问题的内容。