钩子技术HOOK使用教程

时间:2014-11-21 03:49:21
【文件属性】:
文件名称:钩子技术HOOK使用教程
文件大小:25KB
文件格式:DOC
更新时间:2014-11-21 03:49:21
HOOK 钩子函数实际上是一个处理消息的程序段,每当一个应用程序调用函数GetMessage或PeekMessage而恰有一个消息即将被处理时,系统调用钩子函数。也就是说,当特定的息发出,在没有到达目的窗口前,钩子函数先捕获消息,亦即钩子函数先获得控制权。这时钩子函数既可以加工处理该消息,也可以不作处理而继续传递消息,还可以强制结束消息传递。系统为每种类型的钩子维护一个钩子链,最近安装的钩子放在链的开始,而最先安装的钩子放在最后,也就是后加入的钩子先获得控制权。 Windows API函数SetWindowsHookEx用来安装钩子函数,这个函数的原型是HHOOK SetWindowsHookEx(int idHook,HOOKPROC lpfn,HINSTANCE hMod,DWORD dwThreadId),其中第一个参数是钩子的类型;第二个参数是钩子函数的地址;第三个参数是包含钩子函数的模块句柄;第四个参数指定监视的线程,如果指定确定的线程,即为线程钩子,如果指定为空,则为全局钩子。其中,全局钩子必须包含在DLL中,线程专用钩子可以包含在可执行文件中。得到控制权的钩子函数在完成对消息的处理后,如果想要该消息继续传递,那么它必须调用另一个API函数CallNextHookEx来传递它,钩子函数也可以通过直接返回0来丢弃该消息,以阻止消息的传递。

网友评论

  • 还是可以,但不是所需要的
  • 比较简要,具体点更好。
  • 可以还是可以,就是不够具体
  • 如何能在具体些就好了
  • 怎么说那,可能跟网上能查到的大部分资料差不多……
  • 很不错,如何能在具体些就好了