参考资料:
http://www.codeproject.com/Articles/43180/Dependency-Checker.aspx
原始Demo,不是我要的效果.原始demo功能是给定一个dll,然后在一个指定目录中遍历,所有依赖与这个Dll的PE文件.
我想要的效果是象vcDepends那样的效果,给定一个PE文件,看这个文件依赖的所有PE文件.我准备改一下这个Demo,最后的效果就是vside中的DEPENDS.exe
我把修改版的名称定位 PeDependsChecker,里面用到的系列API是‘Image Access’,msdn中有介绍,没有例子.
现实软件中vc的Depends.exe,safe360里面也有这种小工具.
用途:
把这种工具嵌入我们的工程和得到文件详细版本信息的模块,计算文件哈希值结合起来,可以实现自校验依赖关系,和工程运行环境的完整性检查.
在主程序运行之前,先运行环境检查模块,如果运行环境不在,缺失,依赖文件的版本不对,文件被修改过,就不让程序继续运行, 避免了很多难看的崩溃问题和知识产权保护. 用途还是很多的.
<2011_0102>
找到一个完成整的工程,很强大的一个Demo.如果不是为了研究,根本不用改,能直接用.
http://www.codeproject.com/KB/tips/PE_File.aspx
Parse a PE (EXE,DLL,OCX Files ) and New Dependency Walker
<2013_0815>
Depends.exe 在WDK中有,位置如下:
\WinDDK\7600.16385.1\tools\Other\i386\Depends.exe
\WinDDK\7600.16385.1\tools\Other\ia64\Depends.exe