全局消息钩子 为什么游戏要安装全局钩子
在这个信息爆炸的时代,了解全局消息钩子和为什么游戏要安装全局钩子的重要性不言而喻。本文将为您带来全面的解读,助您在这个领域中游刃有余。
全局钩子的Win32全局钩子的运行机制
钩子实际上是一个处理消息的程序段,通过系统调用,把它挂入系统。每当特定的消息发出,在没有到达目的窗口前,钩子程序就先捕获该消息,亦即钩子函数先得到控制权。这时钩子函数即可以加工处理(改变)该消息,也可以不作处理而继续传递该消息,还可以强制结束消息的传递。对每种类型的钩子由系统来维护一个钩子链,最近安装的钩子放在链的开始,而最先安装的钩子放在最后,也就是后加入的先获得控制权。要实现Win32的系统钩子,必须调用SDK中的API函数SetWindowsHookEx来安装这个钩子函数,这个函数的原型是HHOOK SetWindowsHookEx(int idHook,HOOKPROC lpfn,HINSTANCE hMod,DWORD dwThreadId);,其中,第一个参数是钩子的类型;第二个参数是钩子函数的地址;第三个参数是包含钩子函数的模块句柄;第四个参数指定监视的线程。如果指定确定的线程,即为线程专用钩子;如果指定为空,即为全局钩子。其中,全局钩子函数必须包含在DLL(动态链接库)中,而线程专用钩子还可以包含在可执行文件中。得到控制权的钩子函数在完成对消息的处理后,如果想要该消息继续传递,那么它必须调用另外一个SDK中的API函数CallNextHookEx来传递它。钩子函数也可以通过直接返回TRUE来丢弃该消息,并阻止该消息的传递。
为什么游戏要安装全局钩子
“加载全局钩子”说白了就是全局的监控一个程序如果加载了全局钩子那基本就可以说这个程序可以监控到你在计算机上的一举一动一般认为除了杀毒软件一类的程序加载全局钩子是正常现象之外,其余程序有类似动作都可以认为可疑。如果你不知道这个程序是干什么的,那就更可疑了(杀毒软件需要监控其他所有程序以分析是否是病毒,所以类似于加载全局钩子的行为可以认为是正常的,不过其实杀毒软件也不一定加载全局钩子,因为监控的方法很多,而加载全局钩子的监控手段又并不是非常有效。)危害必然是有的,很多流行的木马和后门都是要加载全局钩子的~能监控到你的一举一动,那你还有什么隐私和秘密可言呢?解决方法当然是用杀毒软件清理了~其他的方案也可以使用XueTr或者IceSword一类的工具手动清除这些钩子~而游戏加载全局钩子,一般就是为了防止你使用一些外{过}{滤}挂等软件
VB怎样实现全局钩子函数
Windows的钩子函数分两种,一种是全局的,一种是线程的。全局的钩子函数可以捕获任何应用程序的消息,但必须是标准的DLL才能实现,VB做不了。VB可以实现线程的,就是当前应用程序的消息,这对鼠标消息的捕捉有影响。
SetWindowsHookEx定义如下:
Declare Function SetWindowsHookEx Lib"user32" Alias"SetWindowsHookExA"(ByVal idHook As Long, ByVal lpfn As Long, ByVal hmod As Long, ByVal dwThreadId As Long) As Long
idHook是钩子类型,如WH_KEYBOARD捕捉键盘消息,而WH_MOUSE捕捉鼠标消息。hmod用于全局钩子,VB要实现钩子,必须设为0。dwThreadId用于线程钩子VB中可以设置为App.ThreadID。lpfn为钩子函数,在VB中可以使用AddressOf获得钩子函数的地址。这个函数因为钩子类型不同而有所不同。如键盘钩子为:
Public Function KeyboardProc(ByVal nCode As Long, _
ByVal wParam As Long, _
ByVal lParam As Long) As Long
如果Code不为0,钩子函数必须调用CallNextHookEx,将消息传递给下面的钩子。wParam和lParam不是按键。
可以到这里看看:http://nhzzljp.vicp.net/Article/show.asp?id=110
全局消息钩子是病毒吗
全局消息,钩子是病毒,它是位于电脑中的一种比较新型的,比较强大的一种病毒,他会直接损害电脑中的信息等一些开关等技术,如果被钩子病毒侵害的话,那么,您的个人隐私可能会被泄露,或者说您的财产也会消失,但总体来说,全局消息钩子是病毒
请您点击确认,谢谢
全局消息钩子和为什么游戏要安装全局钩子的问题分享结束啦,以上的文章解决了您的问题吗?欢迎您下次再来哦!