返回信息流系统勾子监视系统中的所有线程的事件消息。因为系统勾子会影响系统中所有的应用程序,所以勾子函数必须放在独立的动态链接库(DLL) 中。系统自动将包含"钩子回调函数"的DLL映射到受钩子函数影响的所有进程的地址空间中,即将这个DLL注入了那些进程。
--意思就是说有一个应用程序调用了sethook就可以监视系统其他程序的消息是么? 如果这样咔吧会报警,那金山词霸岂不算是病毒了。。。
这是一条镜像帖。来源:北邮人论坛 / security / #8307同步于 2007/2/19
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Security机器人发帖
全局钩子的含义
FFT
2007/2/19镜像同步13 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
【 在 FFT 的大作中提到: 】
: 系统勾子监视系统中的所有线程的事件消息。因为系统勾子会影响系统中所有的应用程序,所以勾子函数必须放在独立的动态链接库(DLL) 中。系统自动将包含"钩子回调函数"的DLL映射到受钩子函数影响的所有进程的地址空间中,即将这个DLL注入了那些进程。
: --意思就是说有一个应用程序调用了sethook就可以监视系统其他程序的消息是么? 如果这样咔吧会报警,那金山词霸岂不算是病毒了。。。
设置全局钩子的时候dll会被自动映射。
不过WH_KEYBOARD_LL和WH_MOUSE_LL特殊,是个全局不依赖dll的
至于金山词霸取词有篇文章http://www.vchome.net/tech/dll/dll28.htm
用的全局钩子,理论上应该会被卡巴揪出来吧?不过我一直裸奔,只有词霸没有卡巴,不知道卡巴会不会报警。。。。。
我不太喜欢用金山。。。所有手头没有。。。= =
简单分析了以下babylon的机制。。。
就是在所有激活的GUI进程中注入了一个captilb.dll
CAPTLIB.DLL
011B1612 56 PUSH ESI
011B1613 51 PUSH ECX
011B1614 68 00171B01 PUSH CAPTLIB.011B1700
011B1619 6A 07 PUSH 7 ;WH_MOUSE equ 7
011B161B FF15 58521C01 CALL DWORD PTR DS:[<&USER32.SetWindowsHookExA>] ; USER32.SetWindowsHookExA
是一个局部的鼠标HOOK
但是是否要挂这个鼠标Hook是通过hook WH_SHELL来监视是否有窗口建立了。。。如果没有窗口那就不用挂了。。。挂了也是白挂。。。=v=
再具体的过程还没跟。。。这台机器没softice。。。用ring3的debug工具跟dll太痛苦了。。。= =b
全局钩子卡巴不会报吧。。。应用已经这么广泛了。。= =
不过用WriteProcessMemory直接去改函数入口地址实现Hook的话还真会被卡巴拦下来。。。所以卡巴被我请出去了。。。= =b
老版卡巴在ring3下先结束卡巴的进程ID+1的进程,再结束卡巴的进程就可以关掉。。。太脆弱了。。。新版貌似好点。。。但恢复Inline hook和SSDT后一样被咔嚓。。。但是貌似在ring3下改ssdt卡巴会报。。。看来只有去ring0了。。。啊。。。扯远了。。=v=
拜年去。。。先闪了~~~
【 在 rebirthatsix 的大作中提到: 】
: 这两个不是说一直有冲突么
: 再说了,卡巴就算报,金山的技术员工我想他们还是有能力把卡巴的监视给patch掉的
【 在 CNLAS 的大作中提到: 】
: 我不太喜欢用金山。。。所有手头没有。。。= =
: 简单分析了以下babylon的机制。。。
: 就是在所有激活的GUI进程中注入了一个captilb.dll
: ...................
我自己写的卡巴报[em9][em9]