为什么依赖者walker显示缺少的dll?

时间:2015-10-21 19:57:36

标签: c++ dll dependencies loadlibrary import-table

我有一个dll文件,当我尝试使用LoadLibrary加载时工作正常。我能够成功调用加载的dll中的函数。然而,当我尝试在这个dll上使用依赖性walker时,它向我展示了一些丢失的dll和一些dll中的一些符号。

我知道我可以放心地忽略这些,但是我想知道为什么会发生这种情况?我试图通过PE头导入目录进行解析,我也得到了与依赖walker类似的结果。

任何指针?

1 个答案:

答案 0 :(得分:0)

我认为你正在看到Windows实现的一部分,这是因为Dependency Walker不知道确切的操作系统规则,但是LoadLibrary。出于兼容性原因,可能存在一些“虚假导入”,以支持对Windows DLL做出毫无根据的假设的应用程序。

要与之链接的DLL的MSDN文档。他们通常转发到其他DLL。请不要对这些实现DLL进行硬编码。当实现DLL发生变化时,您的公司可能不足以让Microsoft添加兼容性攻击。