软件hook是什么

软件hook是什么,第1张

软件HOOK即钩子函数,钩子函数是Windows消息处理机制的一部分,通过设置“钩子”,应用程序可以在系统级对所有消息、事件进行过滤,访问在正常情况下无法访问的消息。

钩子的本质是一段用以处理系统消息的程序,通过系统调用,把它挂入系统。每当特定的消息发出,在没有到达目的窗口前,钩子程序就先捕获该消息,亦即钩子函数先得到控制权。这时钩子函数即可以加工处理(改变)该消息,也可以不作处理而继续传递该消息,还可以强制结束消息的传递。

HOOK技术在windows系统下编程,应该会接触到api函数的使用,常用的api函数大概有2000个左右。今天随着控件,stl等高效编程技术的出现,api的使用概率在普通的用户程序上就变得越来越小了。当诸如控件这些现成的手段不能实现的功能时,我们还需要借助api。

就是钩子,用于劫持消息,在windows中是这样的,因为win32程序是以消息机制为基础的,比如你点击鼠标,会给窗口传递一个消息,移动鼠标,会给窗口一个消息,用钩子可以比你的窗口先检测到这个消息,从而得到这个消息进行处理,你的窗口可能就处理不到这个消息了,要看你的钩子处理程序是否把这个消息传给窗口,具体看WIN32应用程序开发吧,


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12194676.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存