阅读:4329回复:28
怎么Hook ServiceDescriptorTableShadow中的函数?
首先我找到了KeServiceDescriptorTableShadow的地址
然后根据它找到了win32k(由win32k.sys导出的)的表的地址,如0xbf997600 但我一访问这个地址就蓝屏了,WHY? |
|
沙发#
发布于:2007-07-18 14:38
那我怎么hook它呢?
|
|
板凳#
发布于:2007-07-18 18:07
我是在Passive Level啊
我用MmIsAddressValid检查0xbf997600,返回FALSE 而且我用Windbg直接查看该地址的内容,都无法访问。怎么办呢? |
|
地板#
发布于:2007-07-19 10:14
是一致的啊,下面是我的windbg的结果:
0: kd> dd keservicedescriptortableshadow 8055c6a0 80504734 00000000 0000011c 80504ba8 8055c6b0 bf997600 00000000 0000029b bf998310 8055c6c0 00000000 00000000 00000000 00000000 8055c6d0 00000000 00000000 00000000 00000000 8055c6e0 80504734 00000000 0000011c 80504ba8 8055c6f0 00000000 00000000 00000000 00000000 那个bf997600就应该是win32.sys导出的表的地址吧,我用windbg看这个表的内容: 0: kd> dd bf997600 bf997600 ???????? ???????? ???????? ???????? bf997610 ???????? ???????? ???????? ???????? bf997620 ???????? ???????? ???????? ???????? bf997630 ???????? ???????? ???????? ???????? bf997640 ???????? ???????? ???????? ???????? bf997650 ???????? ???????? ???????? ???????? bf997660 ???????? ???????? ???????? ???????? bf997670 ???????? ???????? ???????? ???????? 无法访问哦? 大概是page fault! 有人有这方面的源码没有啊 8055c700 00000000 00000000 00000000 00000000 8055c710 00000000 00000000 00000000 00000000 |
|
地下室#
发布于:2007-07-20 14:22
我按照各位的指点,进入了Csrss.exe的进程空间,这个问题解决了。但我遇到了另一个问题,我想像卡巴一样把NtSetWindowsHookEx给hook掉,我就直接把549那个序号的地址改了。但是我用snipesword这样的工具查看时,好像我并没有hook成功。因为我用这个工具看卡巴是hook成功了的,这个是为什么呢?
|
|
5楼#
发布于:2007-07-20 14:24
还有packze 大哥说的最好处理一下ServiceDescriptorTableShadow是什么意思?
|
|
6楼#
发布于:2007-07-21 10:22
怎么没有人解答啦,自己顶一个,期待答案哦
我怎么hook不成功啊? |
|
7楼#
发布于:2007-07-21 10:53
我做的步骤:
进入Csrss.exe的进程空间 找到序号为549的函数地址 修改为自己函数的地址,在当时看来确实是修改了 退出Csrss.exe的进程空间 我用snipesword查看,并没有hook成功 难道要做一些其他的事?? 期待解答啊 |
|
8楼#
发布于:2007-07-21 15:16
问题解决了,结贴了哈。
我上面的那个问题是我定位549号函数地址时出了错误,才没有HOOK到! 感谢 bladellz zhaock WQXNETQIQI packze zzzevazzz 的细心解答!!!! |
|