加载Dll而不执行dllmain函数

时间:2013-05-18 05:21:23

标签: dll mfc cracking

我想在没有执行dllmain函数的情况下加载特殊的dll。

我认为,在dllmain设置断点可以解决这个问题。

但我不知道我该怎么办?

我也想调用dll的导出函数。

我尝试将LoadLibraryEx与dont_resolve_dll_references一起使用,但是在dll函数调用时出现错误。

我该如何解决这个问题?请告诉我你的想法。

感谢。

2 个答案:

答案 0 :(得分:1)

以及explained here

动态链接库(DLL)的可选入口点。当系统启动或终止进程或线程时,使用进程的第一个线程为每个加载的DLL调用入口点函数。当使用 LoadLibrary和FreeLibrary 函数加载或卸载DLL时,系统还调用 DLL的入口点函数。

如果在加载和执行动态库时使用标准方法,则调用DllMain是必需的OS功能(尽管实现该功能是可选的)。所以没有正式的方法来做这件事。

答案 1 :(得分:1)

正如此问题所述:Win32 API to enumerate dll export functions?

您可以将LoadLibraryEx与DONT_RESOLVE_DLL_REFERENCES标志一起使用,即使强烈建议不要使用该标志。 如果是这样,如果你真的想要使用它,你可能需要释放并重新加载它。