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

 

疑问

在使用 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)的方法查找钩子动态连接库,这是由于该列表没有包含全部的应用程序使用的模块;动态加载的模块不在该列表中显示。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值