依赖库查看工具:Dependencies
Dependencies 是一款 Windows 平台下的静态分析工具,用来分析可执行文件(EXE、DLL 等)所依赖的动态链接库(DLL)。它可以帮助开发者和系统管理员快速查找程序在运行时可能缺少的库文件或其他依赖项,以及分析依赖库的加载顺序和路径。
Dependencies 的主要功能:
- 分析 DLL 依赖:Dependencies 可以显示一个可执行文件(如 EXE 或 DLL)所依赖的所有 DLL,包括系统的 DLL 和第三方库。
- 递归依赖:它可以递归显示每个依赖库本身所依赖的其他库,帮助开发者理解完整的依赖关系树。
- 显示导出/导入表:可以查看每个 DLL 的导出函数以及哪些函数被其他模块调用。
- 兼容性检查:帮助开发者发现应用程序与某些操作系统版本的兼容性问题,尤其是在库版本变化时。
使用
打开Release文件夹下的DependenciesGui.exe程序,可以看到如下界面
找到想查看依赖关系的.exe文件,拖入DependenciesGui.exe程序程序界面。
打开文件后,Dependencies 会自动分析它的依赖关系,并显示一个树状视图,展示当前文件所依赖的所有 DLL。每个 DLL 还可以展开,查看它依赖的 DLL。
每个依赖项旁边有颜色标识:
- 绿色:表示找到并加载的库。
- 黄色:表示库找到但可能存在问题(如版本不匹配等)。
- 红色:表示缺少的库,可能导致程序运行失败。
查看导入/导出函数
- 选中某个 DLL,可以切换到不同的选项卡查看其详细信息,比如导入表、导出表、加载地址等信息。
递归分析依赖
- 如果你想深入分析某个 DLL 所依赖的库,右键点击它并选择
Load Missing Dependencies
或Load Dependencies Recursively
,这样可以继续分析这个 DLL 的所有依赖项。
搜索库路径
- Dependencies 还会显示每个 DLL 在系统中的实际加载路径,帮助你确认程序运行时会从哪个位置加载 DLL,是否是正确的版本,或者是否需要手动提供某些 DLL。
将我生成的DLL放入其中,可以看到导出的函数Add和Sub。
继续分析静态加载它的应用程序。
删除该dll
链图片转存中…(img-XWX37DkJ-1726904525342)]
删除该dll