Dependency Walker 是 Microsoft Visual C++ 中提供的非常有用的 PE 模块依赖性分析工具。Dependency Walker 工具可以查看.exe文件,dll文件里调用那些dll文件,或是dll文件对外释放的接口,dll文件的版本信息等
查看 PE 模块的导入模块。
查看 PE 模块的导入和导出函数。
动态剖析 PE 模块的模块依赖性。
解析 C++ 函数名称。
1、打开DependencyWalker软件
2、在左上角的“文件”菜单中找到“打开”按钮,或者直接使用快捷键Ctrl+O打开。
3、在“打开”对话框中,找到一个DLL文件选中后,就可以查看此DLL文件的信息了。这里我们查看的是System32文件夹中的kernel32,这是操作系统中的一个比较重要的DLL文件。
4、在界面左上部分的树状图中可以看到该DLL文件调用了哪些其他的文件中的内容。单击这些文件可以查看这些文件各自的导入与导出函数。
5、右上方一共有两个部分,其中,PI是Parent Import Function List View的简写,E是Export Function List View的简写。通过这两个部分,用户可以观察到该DLL文件从哪些其他文件中调用了函数(PI),又提供了哪些接口,让其他的程序调用(E)。需要特别注意的是,DependencyWalker中提供的函数名是C语言可以调用的函数名。
6、中下侧模块中的内容与左上方的树状图是对应的。该模块详细描述了要这次检查的DLL文件所调用的其他文件详细信息。
7、最下侧的模块是信息模块,如果DependencyWalker在解析某个DLL文件时出错,错误信息会显示在该模块中。就如下图打开的一个带有错误的DLL文件。
8、在左上方的“文件”菜单内可以“保存”或“另存为”本次对DLL文件的解析结果。
在保存或另存为界面中,可以将解析结果保存到DWI格式的文件。保存成此类的文件可以直接用DependencyWalker快速识别并打开。
9、到这里DependencyWalker的主要功能就介绍完毕了。下面再介绍两个该软件实用的附加功能。在上方“查看”菜单中的“系统信息”中可以看到自己当前的系统信息。
10、在上方“查看”菜单中的“属性”中可以看到当前被解析DLL文件的属性。