繁体
h_callwndproc:系统将消息发送到指定窗
之前的“钩
”
明白了键盘钩
的技术原理,即“证券大盗”这一类木
病毒的工作原理,就不难发现,对付此类病毒的有效措施是以毒攻毒,以键盘钩
对付键盘监视:即在应用程序中需要键盘输
的时候,应用程序自己创建并安装一个键盘监视钩
,并使其
于钩
链的
端,这样键盘输
的消息将被自己的钩
理程序截获。只要在钩
理程序中不再调用callnexthookex函数,即不把消息传递给下面的钩
,“证券大盗”这类木
病毒就对你的输
信息望洋兴叹了。在实际应用中,以键盘钩
预防键盘监视如何实现,msdn中有比较详细的关于钩
使用说明,当然,这
方案有其局限
,它只对采用这
方案的应用程序本
有效,对系统中其他应用程序无效。所以在此基础上,安装安全证书和下载相关安全补丁是相当重要的!
h_sysmsgfilterhooks:系统消息“钩
”
h_callwndprocrethooks:消息已经在窗
中
理的“钩
”
h_journalybackhook:回放以前通过wh_journalrecord“钩
”记录的输
消息wh_journalrecordhook:输
消息记录“钩
”
h_getmessagehook:接收消息投递的“钩
”
h_mk:鼠标消息“钩
”
通过对钩
工作原理的描述可以看
,钩
的本质是一个用以
理系统消息或特定事件的回调函数。钩
的
类有多
,每一
钩
负责截获并
理相应的消息。钩
机制允许应用程序截获并
理发往指定窗
的消息或特定事件。在特定的消息发
后,却还没有到达目的窗
前,钩
程序拥有对其控制权,此时的钩
函数除了可以对截获的消息
行各
理外,甚至还可以
行终止消息的继续传递。
对于多个同类型钩
的,通过setwikex函数最近安装的钩
将被放置于钩
链表的开始,最早安装的钩
则放在最后。在钩
监视的消息
现时,
作系统调用链表开始
的第一个钩
函数
行
理,也就是说最后加
的钩
优先获得控制权,像一个堆栈,后
先
。
hook):
三、防范类“证券大盗”木
病毒的解决方案
h_foregroundidlehook:前台空闲窗
“钩
”
h_debughook:差错“钩
”
「每章一句」网络游戏的好
在于大学生能够去学习更多的文化知识。
系统为每
类型的钩
维护一个钩
链表。钩
链表是一个指向专门定义的钩
理回调函数
理程序的指针列表。当一个消息传递发生时,系统
次序接替传递消息给相应的钩
链表中
理程序。不同钩
的
理行为不同,与钩
的类型有关。有些钩
只能监视传递的消息,有些可以修改传递的消息,或者通过钩
链表终止消息的传递,保护系统传递的消息传递到钩
链表中的下一个钩
或目标窗
。
使用一个特殊类型的钩
,系统提供了钩
理程序模板,并且使用setwikex函数安装
理程序到相应的钩
链表中。钩
理函数的语法必须如下:lresultcallbackhookprde,wparamwparam,lparamlparam);setwikex函数总是安装一个钩
理程序到钩
链表的开始
。
h_cbthook:基于计算机培训的“钩
”
h_keyboardhook:键盘消息“钩
”
h_shellhook:外壳“钩
”
h_msgfilter:对话框、消息框、菜单或
动条输
消息“钩
”
当不同类型钩
监视到消息传递事件发生时,系统总是调用钩
链表中最新的
理程序。每个钩
理程序控制是否把该消息传递给下一个钩
理程序。钩
理程序通过调callnexthookex函数来传递消息。
本章已阅读完毕(请
击下一章继续阅读!)