首页
社区
课程
招聘
[旧帖] HOOK系统SetWindowsHookEx的怪问题? 0.00雪花
发表于: 2016-3-20 23:48 3517

[旧帖] HOOK系统SetWindowsHookEx的怪问题? 0.00雪花

2016-3-20 23:48
3517
为了避免系统上被安装低级键盘和鼠标钩子。

一启动就先 HOOK 了 SetWindowsHookExW 和 SetWindowsHookExA 两个函数。
在HOOK函数中修改参数
...
if (idHook==WH_KEYBOARD_LL || idHook==WH_MOUSE_LL)
{
OutputDebugString("钩住了");
return -99; //直接返回什么都不做。
}
...

某个XXX程序执行后,可以看到两次输出信息 "钩住了" ,
证明确实拦截到了的。用PCHUTER查看系统还是被安装了低级键鼠钩子,
并且现象可以证明确实安了钩子。
为什么没有用?

正确HOOK 这个SetWindowsHookEx函数的方法是什么?
或者另外的方法可以防止安装低级键鼠钩子?
或者有什么办法直接卸载已经安装低级键鼠钩子?
请高人指点一下。
谢谢。

[培训]科锐逆向工程师培训第53期2025年7月8日开班!

收藏
免费 0
支持
分享
最新回复 (7)
雪    币: 433
活跃值: (2130)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
2
自己的电脑单独用为何不写驱动...硬编码就是了...
2016-3-21 02:36
0
雪    币: 2281
活跃值: (963)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
3
楼主可以试试把这个程序拖到IDA里面,看看它怎么装上去的。或者用虚拟机挂个内核调试,看看应用层的调用栈
2016-3-21 09:29
0
雪    币: 295
活跃值: (363)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
xjj
4
返回值:若此函数执行成功,则返回值就是该挂钩处理过程的句柄;若此函数执行失败,则返回值为NULL(0).若想获得更多错误信息,请调用GetLasError函数.
2016-3-21 09:36
0
雪    币: 2
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
虚拟机里测试的?
2016-3-21 10:55
0
雪    币: 32
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
是的,有什么不同?
2016-3-22 03:27
0
雪    币: 35
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
你好aaaa
2016-3-22 16:40
0
雪    币: 1
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
改成return 1?注意被Hook的程序是多少位的,你的Hook程序也要是那么多位。
为什么不就用SetWindowsHookEx
2016-4-10 14:17
0
游客
登录 | 注册 方可回帖
返回