永发信息网

如何消除系统的消息钩子?(高手进!)

答案:4  悬赏:20  手机版
解决时间 2021-04-22 14:12
如题,比如说极域电子教学就有键盘钩子,有没有方法把钩子去掉?QQ:1055580068
最佳答案
键盘钩子大多数都属于木马程序,建议杀毒
全部回答
Windows消息钩子一般都很熟悉了。它的用处很多,耳熟能详的就有——利用键盘钩子获取目标进程的键盘输入,从而获得各类密码以达到不可告人的目的。朋友想让他的软件不被别人的全局钩子监视,有没有办法实现呢?答案是肯定的,不过缺陷也是有的。   首先简单看看全局钩子如何注入别的进程。   消息钩子是由Win32子系统提供,其核心部分通过NtUserSetWindowsHookEx为用户提供了设置消息钩子的系统服务,用户通过它注册全局钩子。当系统获取某些事件,比如用户按键,键盘driver将扫描码等传入win32k的KeyEvent处理函数,处理函数判断有无相应hook,有则callhook。此时,系统取得Hook对象信息,若目标进程没有装载对应的Dll,则装载之(利用KeUserModeCallback“调用”用户例程,它与Apc调用不同,它是仿制中断返回环境,其调用是“立即”性质的)。   进入用户态的KiUserCallbackDispatcher后,KiUserCallbackDispatcher根据传递的数据获取所需调用的函数、参数等,随后调用。针对上面的例子,为装载hook dll,得到调用的是LoadLibraryExW,随后进入LdrLoadDll,装载完毕后返回,后面的步骤就不叙述了。   从上面的讨论我们可以得出一个最简单的防侵入方案:在加载hook dll之前hook相应api使得加载失败,不过有一个缺陷:系统并不会因为一次的失败而放弃,每次有消息产生欲call hook时系统都会试图在你的进程加载dll,这对于性能有些微影响,不过应该感觉不到。剩下一个问题就是不是所有的LoadLibraryExW都应拦截,这个容易解决,比如判断返回地址。下面给出一个例子片断,可以添加一些判断使得某些允许加载的hook dll被加载。   这里hook api使用了微软的detours库,可自行修改。      以下内容为程序代码:      typedef HMODULE (__stdcall *LOADLIB)(   LPCWSTR lpwLibFileName,   HANDLE hFile,   DWORD dwFlags);   extern "C" {   DETOUR_TRAMPOLINE(HMODULE __stdcall Real_LoadLibraryExW(   LPCWSTR lpwLibFileName,   HANDLE hFile,   DWORD dwFlags),   LoadLibraryExW);   }   ULONG user32 = 0;   HMODULE __stdcall Mine_LoadLibraryExW(   LPCWSTR lpwLibFileName,   HANDLE hFile,   DWORD dwFlags)   {   ULONG addr;   _asm mov eax, [ebp+4]   _asm mov addr, eax   if ((user32 & 0xFFFF0000) == (addr & 0xFFFF0000))   {   return 0;   }   HMODULE res = (LOADLIB(Real_LoadLibraryExW)) (   lpwLibFileName,   hFile,   dwFlags);   return res;   }   BOOL ProcessAttach()   {   DetourFunctionWithTrampoline((PBYTE)Real_LoadLibraryExW,   (PBYTE)Mine_LoadLibraryExW);   return TRUE;   }   BOOL ProcessDetach()   {   DetourRemove((PBYTE)Real_LoadLibraryExW,   (PBYTE)Mine_LoadLibraryExW);   return TRUE;   }   CAnti_HookApp::CAnti_HookApp() file://在使用用户界面服务前调用ProcessAttach   {   user32 = (ULONG)GetModuleHandle("User32.dll");   ProcessAttach();   }

重新装过系统吧

钩子是WINDOWS中消息处理机制的一个要点,通过安装各种钩子,应用程序能够设置相应的子例程来监视系统里的消息传递以及在这些消息到达目标窗口程序之前处理它们。 钩子的种类很多,每种钩子可以截获并处理相应的消息,如键盘钩子可以截获键盘消息,鼠标钩子可以截获鼠标消息,外壳钩子可以截获启动和关闭应用程序的消息,日志钩子可以监视和记录输入事件。 若在dll中使用SetWindowsHookEx设置一全局钩子,系统会将其加载入使用user32的进程中,因而它也可被利用为无进程木马的进程注入手段。进行相反的设置就可以取消全局钩子你不如尝试一下。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
怎样让自己在最短的时间内干最多的事情
芒市人民检察院反渎职侵权局地址在哪,我要去
什么牌子的相机适合家用
高考励志句子唯美简短,励志句子唯美简短
求一个开场舞视频以供学习
信息中心是干什么工作的
生日快乐短信祝阿姨,好朋友的妈妈过生日 想发
刚完善的配置单准备下手!征求攒机高手们的意
仓库酒吧地址在什么地方,想过去办事
QQ校园怎么注销资料重新申请?
我想在县城开家杰克琼斯请问有些什么要求和怎
深圳又诺基亚手机厂吗
MOTO.E6跟NOKIA 5320比哪个好些??
DNF游戏怎么老自己没了
怀孕才2个多月,为什么医生却说有3个多月了呢
推荐资讯
邓氏盲人按摩地址在哪,我要去那里办事
我看到 他们的QQ空间里人气那么多是在 那刷的
新罗网地址有知道的么?有点事想过去
是不是安装了还原精灵就不用再安杀毒软件了?
关于月亮的古诗词、对联、古诗、歌曲名谣、美
NOKN900多少钱?
羽绒服被剐碎,在烟台哪里可以修理?
帕帕珍味我想知道这个在什么地方
英语自我介绍小短文 条件 姓名耿嘉杰 年龄12
怎么点亮英雄岛啊
如果你的男友认了一个妹妹怎么办?
网球和羽毛球的区别在哪呢
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?