首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >dumpbin.exe查找依赖项的存在

dumpbin.exe查找依赖项的存在
EN

Stack Overflow用户
提问于 2019-03-23 02:51:56
回答 1查看 631关注 0票数 0

我需要验证可执行文件的依赖关系是否存在,如果可能的话,还要验证该依赖关系的正确版本。包括依赖项的依赖项。使用dumpbin.exe,我能够收集exe或dll的依赖项。例如

代码语言:javascript
复制
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin>dumpbin.exe /dependents  "C:\Program Files (x86)\Notepad++\notepad++.exe"
Microsoft (R) COFF/PE Dumper Version 14.00.24215.1
Copyright (C) Microsoft Corporation.  All rights reserved.


Dump of file C:\Program Files (x86)\Notepad++\notepad++.exe

File Type: EXECUTABLE IMAGE

  Image has the following dependencies:

    COMCTL32.dll
    SHLWAPI.dll
    SHELL32.dll
    KERNEL32.dll
    USER32.dll
    GDI32.dll
    COMDLG32.dll
    ADVAPI32.dll
    ole32.dll

  Summary

       20000 .data
       52000 .rdata
       13000 .reloc
       86000 .rsrc
      10F000 .text

我正在通过dumpbin.exe中的Process.Start()读取C#的输出,并解析返回的数据,没有问题。我还可以验证文件是否存在,很简单...但是,一个系统上完全可能存在多个依赖项的依赖项。您如何验证存在正确的依赖关系或所述依赖关系的版本?这一点变得很重要,因为验证依赖项的依赖关系也存在。如果有一种方法可以像这样

代码语言:javascript
复制
"C:\Windows\System32\ole32.dll" 

对此有什么想法吗?提前感谢!(PS-如果我的dll位置完全错误,比如它只能存在于.exe的执行路径或system32中,请告诉我,谢谢)

EN

回答 1

Stack Overflow用户

发布于 2019-06-09 03:38:28

您正在测试的节点上多个库的load order会影响哪个库。

运行时方法包括:

使用sysinternals procmon加载的依赖项。

通过从windbg启动程序来使用windbg来查看加载程序消息。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55306104

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档