我想在没有执行dllmain函数的情况下加载特殊的dll。
我认为,在dllmain设置断点可以解决这个问题。
但我不知道我该怎么办?
我也想调用dll的导出函数。
我尝试将LoadLibraryEx与dont_resolve_dll_references一起使用,但是在dll函数调用时出现错误。
我该如何解决这个问题?请告诉我你的想法。
感谢。
答案 0 :(得分:1)
动态链接库(DLL)的可选入口点。当系统启动或终止进程或线程时,使用进程的第一个线程为每个加载的DLL调用入口点函数。当使用 LoadLibrary和FreeLibrary 函数加载或卸载DLL时,系统还调用 DLL的入口点函数。
如果在加载和执行动态库时使用标准方法,则调用DllMain是必需的OS功能(尽管实现该功能是可选的)。所以没有正式的方法来做这件事。
答案 1 :(得分:1)
正如此问题所述:Win32 API to enumerate dll export functions?
您可以将LoadLibraryEx与DONT_RESOLVE_DLL_REFERENCES标志一起使用,即使强烈建议不要使用该标志。 如果是这样,如果你真的想要使用它,你可能需要释放并重新加载它。