0

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

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

但我不知道我该怎么办?

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

我曾尝试将 LoadLibraryEx 与 dont_resolve_dll_references 一起使用,但 dll 的函数调用会发生错误。

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

谢谢。

4

2 回答 2

2

正如这个问题中所解释的:Win32 API to enumerate dll export functions?

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

于 2015-09-16T04:55:27.023 回答
1

就像这里解释的那样:

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

如果您使用标准方式加载和执行动态库,则调用 DllMain 是一项操作系统功能(尽管实现该功能是可选的)。所以没有官方的方法可以做到这一点。

于 2013-05-18T05:36:09.390 回答