如何确定哪些DLL是二进制文件取决于使用编程方法?

需要明确的是,我不是要确定正在运行的exec的DLL依赖关系,而是要确定任何任意exec(可能缺少必需的DLL)的DLL依赖关系。我正在寻找在C/C++应用程序中实现的解决方案。这是我的应用程序在运行时需要完成的事情,而第三方应用程序无法完成(如depends)。

最佳答案

看一看 IMAGE_LOAD_FUNCTION API。它将返回一个指向 LOADED_IMAGE 结构的指针,您可以使用该结构访问PE文件的各个部分。

您可以找到一些文章来描述结构的布局herehere。您可以下载文章here的源代码。

我认为这应该为您提供所需的一切。

更新:

我刚刚下载了本文的源代码。如果打开EXEDUMP.CPP并查看DumpImportsSection,它应该具有您所需的代码。

10-01 02:40
查看更多