文档

dllmain微软文档:https://docs.microsoft.com/en-us/windows/win32/dlls/dllmain

问题

在微软文档中我们看到一段话,如下图所示:

l00c1n9g.png

这段文字的意思主要为,请不要在dllmain中调用会调用LoadLibrary的函数,如果你调用的函数会调用LoadLibrary函数的话,会导致线程死锁。

解决办法

那么我们如何解决呢,比方说我们劫持了一个dll。需要做一些初始化操作我们应该怎么办。这时候我们就需要启动一个线程,在这个线程去调用我们的初始化函数,而不再dllmain中做任何初始化操作。

l00c8rlu.png

l00c9fua.png