全局钩子(加载全局钩子是什么意思)
一、加载全局钩子是什么意思
“加载全局钩子”说白了就是全局的监控一个程序如果加载了全局钩子那基本就可以说这个程序可以监控到你在计算机上的一举一动一般认为除了杀毒软件一类的程序加载全局钩子是正常现象之外,其余程序有类似动作都可以认为可疑。如果你不知道这个程序是干什么的,那就更可疑了(杀毒软件需要监控其他所有程序以分析是否是病毒,所以类似于加载全局钩子的行为可以认为是正常的,不过其实杀毒软件也不一定加载全局钩子,因为监控的方法很多,而加载全局钩子的监控手段又并不是非常有效。)
危害必然是有的,很多流行的木马和后门都是要加载全局钩子的~能监控到你的一举一动,那你还有什么隐私和秘密可言呢?解决方法当然是用杀毒软件清理了~其他的方案也可以使用XueTr或者IceSword一类的工具手动清除这些钩子~
而游戏加载全局钩子,一般就是为了防止你使用一些外{过}{滤}挂等软件
二、怎么在DLL里写全局钩子
要实现Win32的系统钩子,必须调用SDK中的API函数SetWindowsHookEx来安装这个钩子函数,这个函数的原型是HHOOKSetWindowsHookEx(intidHook,HOOKPROClpfn,HINSTANCEhMod,DWORDdwThreadId);,其中,第一个参数是钩子的类型;第二个参数是钩子函数的地址;第三个参数是包含钩子函数的模块句柄;第四个参数指定监视的线程。如果指定确定的线程,即为线程专用钩子;如果指定为空,即为全局钩子。
其中,全局钩子函数必须包含在DLL(动态链接库)中,而线程专用钩子还可以包含在可执行文件中。
得到控制权的钩子函数在完成对消息的处理后,如果想要该消息继续传递,那么它必须调用另外一个SDK中的API函数CallNextHookEx来传递它。
钩子函数也可以通过直接返回TRUE来丢弃该消息,并阻止该消息的传递。
通过使用DLL,程序可以实现模块化,由相对独立的组件组成。加载快,运行效率高,具有通用性,这是DLL的重要特点。
三、游戏经常安装全局消息钩子,有害不
某些游戏为了防止游戏外{过}{滤}挂,就需要安装全局钩子如果禁用的话,可能会出现键盘失灵,无法正常玩游戏其实,禁止它联网问题就不会太多