HOOK技术.docVIP

  • 3
  • 0
  • 约1.91万字
  • 约 23页
  • 2017-05-11 发布于河南
  • 举报
HOOK技术

HOOK技术 一、什么是钩子(hook) Windows系统是建立在事件驱动的机制上的,说穿了就是整个系统都是通过消息的传递来实现的。钩子(hook)是一种特殊的消息处理机制,钩子可以监视系统或进程中的各种事件消息,截获发往目标窗口的消息并进行处理。这样,我们就可以在系统中安装自定义的钩子,监视系统中特定事件的发生,完成特定的功能,比如截获键盘、鼠标的输入,屏幕取词,日志监视等等。 钩子的种类很多,每种钩子可以截获并处理相应的消息,如键盘钩子可以截获键盘消息,外壳钩子可以截取、启动和关闭应用程序的消息等。钩子可以分为线程钩子和系统钩子, 线程钩子监视指定线程的事件消息, 系统钩子监视系统中的所有线程的事件消息。因为系统钩子会影响系统中所有的应用程序,所以钩子函数必须放在独立的动态链接库(DLL) 中。 按照我的理解,钩子(hook)就是一个Windows消息的拦截机制,你可以单个进程的消息(线程钩子),也可以拦截所有进程的消息(系统钩子),对拦截的消息进行自定义的处理。Windows消息带了一些程序有用的信息,比如Mouse类信息,就带有鼠标所在窗体句柄、鼠标位置等信息(具体可参考相应的消息定义文档),拦截了这些消息,就可以做出例如金山词霸一类的屏幕取词功能。 二、钩子的工作原理 在正确使用钩子函数前,我们先讲解钩子函数的工作原理。当您创建一个钩

文档评论(0)

1亿VIP精品文档

相关文档