| ShowDep告诉你:关联哪些DLL文件
王琰 很多朋友在使用Windows系统时都曾经遇到过这样的错误提示:“启动程序时出错,找不到所需的DLL文件——xxx.DLL。”这条提示表示正准备运行的程序所需的某个DLL没有放在合适的路径之中。可是,当我们找到了xxx.DLL并把它拷贝到系统目录下后再次运行该程序时,又可能发现还缺少yyy.DLL,此时要是有一个工具能够一次性地列出指定程序依赖的所有DLL文件,并且能够指出这些DLL中哪些存在,哪些不存在就好了,InfoCD第4期中的ShowDep就是这样一个好工具,并且其功能还大大超过了我们的预期。 ShowDep能够查看几乎所有PE格式的可执行模块的版本信息、PE文件头、段信息、输入函数信息和输出函数信息,这些模块包括EXE、DLL、OCX、SYS、MPD、DRV、CPL、ACM和SCR等等。ShowDep独有的特点是它不仅能够分析指定的模块,还能跟踪分析指定模块依赖的所有模块,如此重复分析直到几个系统核心DLL为止,这个功能为我们带来了极大的方便。 当我们从File选单中选择Open命令来打开一个PE格式的可执行模块后,ShowDep会给出类似于图1所示的分析结果,左边部分以树型视图的形式显示了模块之间的依赖关系,我们可以在树型视图中任意选择一个模块,右边视图就会给出选定模块的各种信息,ShowDep的注册版本还可以把所有的分析结果存放在RTF格式文档之中。 当我们选中一个模块后,还可以单击鼠标右键调出关联选单或从File选单中选取Open Selected命令来启动ShowDep的一个新的拷贝来分析选定模块,或者在老窗口中以选定模块作为树根重新进行分析。 ShowDep的View选单中可以指定核心模块,以后每次跟踪分析到这些核心模块时,ShowDep就会停止下一级的分析,以避免出现死循环。我们还可指定是否在树型视图中显示核心模块。View选单的另一项重要功能是决定是否把自己添加到Windows外壳的关联选单中,如果选择是,我们在Windows的资源管理器中对各种可执行模块单击鼠标右键后,从弹出的关联选单中可以直接启动ShowDep来对选定的模块进行分析。 在Option选单中,我们可以决定在右边视图输出哪些信息,还可以让ShowDep检查输入和输出函数之间、输出函数和传递调用之间是否存在冲突,当然,部分信息和这些检查功能对程序开发人员可能更具意义一些。 |