您的位置:首页 > 其它

用PurifyPlus分析时如何找到应用程序里的钩子动态连接库

2011-04-21 17:15 239 查看
疑问

在使用 IBM Rational
PurifyPlus时,如何找到应用程序里的钩子动态连接库的信息?

原因


般来说,您可能对调用SetWindowsHook的代码是没有兴趣的,也没有这段代码的源代码和调试信息。多数情况下,调用
SetWindowsHook的应用和您正在测试的程序完全没有关系。基于以上原因,您应该使用参数PurifyExcludeMust (或
QuantifyExcludeMust 或
CoverageExcludeMust)来排除这些模块。问题是如何找到那个调用SetWindowsHook的模块呢?

答案

这个文件适用于IBM Rational
Purify, Quantify 和
PureCoverage。Purify在这里代表全部三个产品。钩子动态连接库是这样一些模块,它们使用SetWindowsHook接口调用来与其它应用程序通讯。

可以采用下面的步骤查找那个调用SetWindowsHook的模块。

1,检查cache目录(缺省安装目录C:/Program
Files/Rational/PurifyPlus/cache),查找文件名中有hook或hk的模块。这些模块通常会使用SetWindowsHook接口。

2,检查cache目录,查找那些不是来自system32和应用程序工作目录的插桩过的模块。通常那些来自非相关目录的模块会使用
SetWindowsHook接口。来自非相关目录的一个例子是"C:/Program Files/MS
Hardware/Mouse",在该目录下保存了msh_zwf.dll模块。cache目录中插桩后文件的文件名可以揭示原始文件所在的目录。

注意:
不要通过检查Purify模块列表(View ->
Properties)的方法查找钩子动态连接库,这是由于该列表没有包含全部的应用程序使用的模块;动态加载的模块不在该列表中显示。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐