软件展示
Dependency Walker是一款功能强大的VC反编译工具,它可以扫描任何32位或64位Windows模块(exe,dll,ocx,sys等),并构建所有相关模块的分层树状图。对于找到的每个模块,它列出了该模块导出的所有函数,以及其中哪些函数实际上由其他模块调用。另一个视图显示所需文件的最小集合,以及有关每个文件的详细信息,包括文件的完整路径,基本地址,版本号,机器类型,调试信息等。不仅如此,Depends反编译工具还支持可以查看PE模块的导入模块以及导入和导出的函数,还有动态剖析PE模块的依赖性和解析C++的函数名称。

【软件特色】
1、用户可定义的模块搜索路径,支持KnownDLL和App Paths注册表项。搜索路径可以从图形界面或命令行中保存和加载。
2、能够将模块会话保存到文本报告文件,以便在任何文本查看器中轻松查看。
3、能够将模块会话保存为逗号分隔值(CSV)文件,以便轻松导入其他应用程序。
4、能够将整个模块会话的快照保存到图像文件,以后可以在任何计算机上通过Dependency Walker加载。
5、模块分析以检测动态依赖关系,子进程,线程活动和异常。子进程也可以针对其依赖关系进行分析。
6、能够控制哪些文件扩展名Dependency Walker会将View Dependencies菜单项添加到资源管理器中的文件上下文菜单中。
7、添加热键以帮助匹配导入与导出,列表视图中的模块以及树视图中的模块。还添加了热键来查找树视图中模块的上一个,下一个或原始实例。
8、在模块列表视图中添加了一些新列。它们包括链接时间戳,链接校验和,实时校验和,符号,实际基准,虚拟大小和加载顺序。
9、添加了一个OS信息对话框。这些信息也保存到文本和Dependency Walker图像(DWI)文件中。
10、所有列表视图现在可以通过图标排序,该图标提供了一种将相似类型的项目分组的简单方法。
11、您现在只需输入几个字符即可在当前排序的列中匹配,从而在所有列表视图中搜索文本。
12、为模块列表视图和日志视图添加了颜色编码,以帮助突出显示问题。

【使用说明】
1. 双击depends.exe ,运行该程序。
2. 将可执行文件拖到该窗口中。稍等片刻,出现depends 分析结果。
3. 左侧的树控件,显示了该exe 包含哪些module(dll),下面的列表是可能用到的dll 总表。因为子dll又包含孙dll, 孙dll又包含... 总之dll 不超过这么多了。不过这个列表用途不大。
4.点击树形控件的子dll,在又测得两个窗口中有相应的信息。其中下面的窗口显示的是该 dll 的导出信息。如ordinal,hint,funtion-name,entry-point 等,上面窗口为导入表列表 最后一下entry Point 往往写着not found. 是因为hint 值与下面导出表的hint,function 不一致。不过这没有关系。因为导入表hint 是用的链接时开发环境的dll, 而现在导出表是你系统 中正使用的dll, 不一致也正常,反正运行时是根据dll函数名称进行定位的。
【常见问题】
1、Dependency Walker似乎只显示了一些应用程序的依赖关系。为什么它不显示所有的?
当您首次在Dependency Walker中打开一个模块时,它只显示隐式的、转发的和延迟的负载依赖关系。许多依赖项都是动态加载的,直到您在依赖项沃克中对应用程序进行配置之前才能检测到。有关更多信息,请参见Dependency Walker处理的依赖类型,并使用应用程序剖析来检测动态依赖项。
2、为什么我看到很多应用在mpr.dll出现在红在shlwapi.dll因为它缺少一个功能叫WNetRestoreConnectionA吗?我还得到了一个警告:由于延迟加载相关模块消息中缺少一个导出函数,至少有一个模块有一个未解决的导入。
shlwapi.dll的一些版本(比如Windows XP的一个)对MPR.DLL的功能wnetrestoreconnectiona延迟加载的依赖。只要调用dll准备处理这种情况,缺失的延迟负载函数就不是问题。Dependency Walker标记所有潜在的问题,因为它无法检测应用程序是否打算处理这个问题。在SHLWAPI.DLL的情况下,这不是一个问题,它不需要WNetRestoreConnectionA的存在和处理缺少的功能在运行时。这个警告可以忽略。有
3、为什么MSJAVA.DLL出现在yellow(缺模块),我得到一个警告:至少一个延迟加载依赖模块的消息没有?
The MSHTML.DLL模块发布Windows XP SP2和Windows 2003 SP1对msjava.dll延迟加载的依赖。只要调用DLL准备处理丢失的模块,缺少延迟负载依赖关系就不是问题。Dependency Walker标记所有潜在的问题,因为它无法检测应用程序是否打算处理这个问题。在这种情况下,MSJAVA.DLL是一个可选的模块,和MSHTML.DLL准备去处理它。这个警告可以忽略。

【更新日志】
1、已移至新的HTML帮助系统并更新了帮助文字。
2、增加了对MSDN 8.0外部帮助的支持,并更新了联机帮助URL。
3、改进了处理DLL清单和app.exe.local文件的并行支持。
4、更新了有关已知操作系统版本的内部信息,构建号码并标记到Vista RC1版本。
5、版本和/或其希望使用的文件的位置。
6、与Visual Studio帮助,MSDN帮助和MSDN联机进行集成,以提供显示任何已知功能的详细帮助的功能。
7、检测动态加载的模块,包括有关哪个模块实际调用LoadLibrary动态加载模块的详细信息。
8、动态调用函数的检测,包括有关哪个模块实际调用GetProCADdress以获取函数地址的详细信息。
9、检测延迟负载依赖性。这是Microsoft Visual C ++ 6.0中引入的一种新型依赖关系。他们在Windows 95/98 / Me和Windows NT / 2000 / XP / 2003 / Vista / 7/8 / +上工作。
10、支持64位Windows模块。
11、控制台模式允许Dependency Walker在没有显示其图形界面的情况下运行。这对批处理文件和Dependency Walker功能的无人值守自动化非常有用。
12、用于配置模块搜索顺序,列排序,输出文件,分析和其他设置的命令行选项。
13、能够监控模块入口点(如DllMain)寻找模块初始化失败。
14、C ++函数名称undecorating以提供可读的C ++函数原型,包括函数名称,返回类型和参数类型。
热门文章
人生模拟器爆盖板
人生模拟器爆盖板:从规则束缚到自由探索 人生常被比作一个模拟器,其中包含预设的规则与路径,这些规则由社会文化、个人经历与心理惯性共同构成。在模拟器中,个体如同玩家,被引导在既定轨道上移动,如职业发展、人际关系与自我认知的固定模式。然而,当玩家意识到这些规则
厕所模拟器苹果
厕所模拟器在苹果平台的发展与特点 厕所模拟器作为一类以模拟卫生间使用场景为核心的移动应用,在苹果平台(iOS系统)上呈现出独特的形态与发展轨迹。这类应用通过数字化手段复刻真实厕所的环境与操作流程,为用户提供一种新颖的互动体验,其设计理念融合了娱乐性与生活场景的
全能模拟器xbox
全能模拟器xbox是一种能够模拟Xbox游戏主机运行环境的软件工具,它通过模拟硬件架构和操作系统,让原本只能在Xbox平台上运行的电子游戏能够在其他设备上流畅运行。 该模拟器通过模拟Xbox主机的中央处理器、图形处理器、内存和存储等核心硬件组件,实现了对游戏程序的兼容运行
垃圾器模拟器
垃圾器模拟器:数字时代的垃圾处理新视角 垃圾器模拟器是一种用于模拟垃圾处理流程的软件系统。它通过数字方式再现从垃圾产生到最终处置的整个过程。该模拟器能够创建一个虚拟环境,其中可以生成、移动、分类和清除各种类型的虚拟垃圾。其核心目标是优化垃圾处理效率,研究不
坠毁地球模拟器
坠毁地球模拟器:虚拟世界的末日实验场 坠毁地球模拟器是一种利用计算机技术构建的虚拟模型,旨在模拟地球在极端条件下走向毁灭的过程。这类模拟器通常基于复杂的地球系统模型,整合地质、气候、生物等多个领域的数据,通过数值计算重现小行星撞击、全球性火山爆发、极端温室
exageared模拟器教程
Exageared模拟器是一款备受欢迎的游戏模拟器,它允许用户在非任天堂平台上运行任天堂的游戏。对于许多游戏爱好者来说,Exageared模拟器是一个理想的解决方案,尤其是在无法访问实际任天堂硬件的情况下。本文将为您提供一份详尽的Exageared模拟器教程,帮助您顺利安装、配置并
尸僵模拟器
尸僵模拟器:法医学与医学教育的创新工具 尸僵是人体死亡后肌肉因神经支配消失而出现的僵硬状态,其发展速度与温度密切相关,是法医学中判断死亡时间的关键指标。尸僵模拟器是一种能够模拟死后肌肉僵硬过程的设备,通过控制温度、湿度等环境因素,模拟尸僵的形成、发展和消散