依赖库查看工具Dependencies

依赖库查看工具:Dependencies

Dependencies 是一款 Windows 平台下的静态分析工具,用来分析可执行文件(EXE、DLL 等)所依赖的动态链接库(DLL)。它可以帮助开发者和系统管理员快速查找程序在运行时可能缺少的库文件或其他依赖项,以及分析依赖库的加载顺序和路径。

Dependencies 的主要功能:

  1. 分析 DLL 依赖:Dependencies 可以显示一个可执行文件(如 EXE 或 DLL)所依赖的所有 DLL,包括系统的 DLL 和第三方库。
  2. 递归依赖:它可以递归显示每个依赖库本身所依赖的其他库,帮助开发者理解完整的依赖关系树。
  3. 显示导出/导入表:可以查看每个 DLL 的导出函数以及哪些函数被其他模块调用。
  4. 兼容性检查:帮助开发者发现应用程序与某些操作系统版本的兼容性问题,尤其是在库版本变化时。

使用

打开Release文件夹下的DependenciesGui.exe程序,可以看到如下界面

image-20240921152555982

找到想查看依赖关系的.exe文件,拖入DependenciesGui.exe程序程序界面。

打开文件后,Dependencies 会自动分析它的依赖关系,并显示一个树状视图,展示当前文件所依赖的所有 DLL。每个 DLL 还可以展开,查看它依赖的 DLL。

每个依赖项旁边有颜色标识:

  • 绿色:表示找到并加载的库。
  • 黄色:表示库找到但可能存在问题(如版本不匹配等)。
  • 红色:表示缺少的库,可能导致程序运行失败。

查看导入/导出函数

  • 选中某个 DLL,可以切换到不同的选项卡查看其详细信息,比如导入表、导出表、加载地址等信息。

递归分析依赖

  • 如果你想深入分析某个 DLL 所依赖的库,右键点击它并选择 Load Missing DependenciesLoad Dependencies Recursively,这样可以继续分析这个 DLL 的所有依赖项。

搜索库路径

  • Dependencies 还会显示每个 DLL 在系统中的实际加载路径,帮助你确认程序运行时会从哪个位置加载 DLL,是否是正确的版本,或者是否需要手动提供某些 DLL。

image-20240921153117405

将我生成的DLL放入其中,可以看到导出的函数Add和Sub。

继续分析静态加载它的应用程序。

image-20240921153935456

image-20240921153911984

删除该dll

链图片转存中…(img-XWX37DkJ-1726904525342)]

删除该dll

image-20240921154018266

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值