首页 软件 安全防护 Dependency Walker绿色版
Dependency Walker绿色版

Dependency Walker绿色版

版本:v2.2.6000 大小:438MB 更新时间:2024-12-01T03:20:21 语言:简体中文 类型:安全防护

软件简介

Dependency Walker 是一款专业的软件与程序依赖性分析工具。它能够扫描所有 32 位或 64 位的 Windows 模块,像 exe、dll、ocx、sys 这些文件都在其扫描范围内,并且支持构建相关模块的分层树形图,以此帮助用户解决加载和执行模块时出现的系统错误。

此外,Dependency Walker 有着多样且丰富的功能,主要包括:一是查看 PE 模块的导入模块;二是查看 PE 模块的导入和导出函数;三是对 PE 模块的模块依赖性进行动态剖析;四是解析 C++ 函数名称。有需要的朋友可以免费下载使用。

软件特色

1、可以扫描任何32位或64位的Windows模块(exe,dll,ocx,sys等)并构建所有相关模块的分层树形图。

2、对于解决与加载和执行模块相关的系统错误非常有用。

3、可以在Windows 95、98、Me、NT、2000、XP、2003、Vista、7和8上运行。

4、完全免费使用。但是,您不得从其分销中获利,也不得将其与另一种产品捆绑销售。

Dependency Walker使用方法

1、打开Dependency Walker,直接拖入目标exe文件或者dll文件(也可以点击菜单栏上的File,通过Open对话框来打开目标文件),运行界面如下

圈选部分为TestDll.exe的依赖关系,它依赖MyDll.dll、MSVCP1400.DLL等,其各自又依赖其他DLL。

从中可以看出其依赖的深度较大,一般只需要查看最顶层的三次依赖即可。

2、单击MyDll.dll,运行界面如下

3、界面右侧的Function下的函数签名不太清晰,可以右键函数名,选择Undecorate C++ Functions,将函数签名转换成更为易读的形式

4、转换后的形式如下

上部的圈选部分是MyDll.dll的引用对象(也即TestDll.exe)使用的导出函数,下部的圈选部分是MyDll.dll所有的导出函数。从图中可以看出,MyDll提供了4个函数而TestDll只使用了其中的int Minus(int, int)和int Mutiply(int, int)。

另外,注意下其中的颜色标识, 上部的引用函数,如果在动态库中存在,显示为绿色;如果不存在显示为红色。下部的导出函数,如果被引用,显示成深蓝色;如果未被引用,显示成灰色。

5、函数缺失

如果将MyDll中的函数int Minus(int, int)删除,重新生成MyDll.dll,然后再次查看TestDll.exe的依赖关系,显示如下

此时,TestDll.exe引用的两个函数:int Minus(int, int)在MyDll.dll中已不存在,所有显示成红色;而int Multiply(int, int)依旧存在,显示成绿色。这时运行TestDll.exe,会报错显示如下

常见问题

1、Dependency Walker似乎只显示了我的应用程序的一些依赖项。为什么不全部显示出来?

当您第一次在Dependency Walker中打开一个模块时,它只显示隐式、转发和延迟加载依赖关系。许多依赖项是动态加载的,直到您从Dependency Walker中分析应用程序时才会被检测到。如需详细资讯,请参阅相依性Walker处理的相依性类型和使用应用程式分析来侦测动态相依性。

2、为什么我在很多应用程序中看到MPR.DLL在SHLWAPI.DLL下以红色显示,因为它缺少一个名为WNetRestoreConnectionA的函数?我还收到一条“警告:由于延迟加载相关模块中缺少导出函数,至少有一个模块有未解析的导入”消息。

SHLWAPI.DLL的某些版本(如Windows XP上的版本)对MPR.DLL的函数WNetRestoreConnectionA有延迟加载依赖。只要调用DLL准备好处理这种情况,丢失延迟加载函数就不是问题。Dependency Walker标记所有潜在的问题,因为它无法检测应用程序是否打算处理该问题。在SHLWAPI.DLL的情况下,这不是一个问题,因为它不要求WNetRestoreConnectionA存在,并在运行时处理缺失的函数。可以忽略此警告。有关更多详细信息,请参见帮助中的“如何解释Dependency Walker中的警告和错误”部分。

3、为什么MSJAVA.DLL显示为黄色(缺少模块),而我得到一条“警告:至少有一个延迟加载依赖模块没有找到”的消息?

与Windows XP SP2和Windows 2003 SP1一起发布的MSHTML.DLL模块具有对MSJAVA.DLL的延迟加载依赖性。只要调用DLL准备好处理丢失的模块,丢失延迟加载依赖项就不是问题。Dependency Walker标记所有潜在的问题,因为它无法检测应用程序是否打算处理该问题。在这种特殊情况下,MSJAVA.DLL是一个可选模块,MSHTML.DLL准备处理它。可以忽略此警告。有关更多详细信息,请参见帮助中的“如何解释Dependency Walker中的警告和错误”部分。

更新日志

v2.2.6000版本

- 移至新的HTML帮助系统并更新了帮助文本。

- 添加了对MSDN 8.0外部帮助的支持,并更新了在线帮助URL。

- 处理DLL清单和app.exe.local文件的改进的并行支持。

- 更新了有关已知操作系统版本、内部版本号和Vista RC1内部版本标志的内部信息。

软件信息

  • 软件大小:438MB
  • 当前版本:v2.2.6000
  • 是否收费:免费
  • 软件语言:简体中文
  • 权限说明:点击查看
  • 隐私说明:点击查看

同类推荐

更多
实时热词
评价
写评价
8.5
玩家好评
91.87%
用户评分
权限查看

此应用程序需要访问以下内容

写入外部存储

允许程序写入外部存储,如SD卡上写文件

完全的网络访问权限

允许该应用创建网络套接字和使用自定义网络协议。浏览器和其他某些应用提供了向互联网发送数据的途径,因此应用无需该权限即可向互联网发送数据

拍摄照片和视频

允许访问摄像头进行拍照或录制视频

读取手机状态和身份

允许应用访问设备的电话功能。此权限可让应用确定本机号码和设备ID、是否正处于通话状态以及拨打的号码。

查看网络状态

允许应用程序查看所有网络的状态。例如存在和连接的网络

查看WLAN状态

允许程序访问WLAN网络状态信息

控制震动

允许应用控制振动设备

拨打电话

允许一个程序初始化一个电话拨号不需通过拨号用户界面需要用户确认,应用程序执行可能需要您付费

确定
隐私说明

严格遵守法律法规,遵循以下隐私保护原则,为您提供更加安全、可靠的服务:

1、安全可靠:

我们竭尽全力通过合理有效的信息安全技术及管理流程,防止您的信息泄露、损毁、丢失。

2、自主选择:

我们为您提供便利的信息管理选项,以便您做出合适的选择,管理您的个人信息

3、保护通信秘密:

我们严格遵照法律法规,保护您的通信秘密,为您提供安全的通信服务。

4、合理必要:

为了向您和其他用户提供更好的服务,我们仅收集必要的信息。

5、清晰透明:

我们努力使用简明易懂的表述,向您介绍隐私政策,以便您清晰地了解我们的信息处理方式。

6、将隐私保护融入产品设计:

我们在产品和服务研发、运营的各个环节,融入隐私保护的理念。

本《隐私政策》主要向您说明:

我们收集哪些信息 我们收集信息的用途 您所享有的权利

希望您仔细阅读《隐私政策》

为了让您有更好的体验、改善我们的服务或经您同意的其他用途,在符合相关法律法规的前提下,我们可能将通过某些服务所收集的信息用于我们的其他服务。例如,将您在使用我们某项服务时的信息,用于另一项服务中向您展示个性化的内容或广告、用于用户研究分析与统计等服务。

若您使用服务,即表示您认同我们在本政策中所述内容。除另有约定外,本政策所用术语与《服务协议》中的术语具有相同的涵义。

如您有问题,请联系我们。

确定