chenting1987
驱动牛犊
驱动牛犊
  • 注册日期2006-11-29
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分530分
  • 威望54点
  • 贡献值0点
  • 好评度53点
  • 原创分0分
  • 专家分0分
阅读:4329回复:28

怎么Hook ServiceDescriptorTableShadow中的函数?

楼主#
更多 发布于:2007-07-17 20:08
首先我找到了KeServiceDescriptorTableShadow的地址
然后根据它找到了win32k(由win32k.sys导出的)的表的地址,如0xbf997600
但我一访问这个地址就蓝屏了,WHY?
chenting1987
驱动牛犊
驱动牛犊
  • 注册日期2006-11-29
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分530分
  • 威望54点
  • 贡献值0点
  • 好评度53点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2007-07-18 14:38
那我怎么hook它呢?
chenting1987
驱动牛犊
驱动牛犊
  • 注册日期2006-11-29
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分530分
  • 威望54点
  • 贡献值0点
  • 好评度53点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2007-07-18 18:07
我是在Passive Level啊
我用MmIsAddressValid检查0xbf997600,返回FALSE
而且我用Windbg直接查看该地址的内容,都无法访问。怎么办呢?
chenting1987
驱动牛犊
驱动牛犊
  • 注册日期2006-11-29
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分530分
  • 威望54点
  • 贡献值0点
  • 好评度53点
  • 原创分0分
  • 专家分0分
地板#
发布于: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
chenting1987
驱动牛犊
驱动牛犊
  • 注册日期2006-11-29
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分530分
  • 威望54点
  • 贡献值0点
  • 好评度53点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2007-07-20 14:22
我按照各位的指点,进入了Csrss.exe的进程空间,这个问题解决了。但我遇到了另一个问题,我想像卡巴一样把NtSetWindowsHookEx给hook掉,我就直接把549那个序号的地址改了。但是我用snipesword这样的工具查看时,好像我并没有hook成功。因为我用这个工具看卡巴是hook成功了的,这个是为什么呢?
chenting1987
驱动牛犊
驱动牛犊
  • 注册日期2006-11-29
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分530分
  • 威望54点
  • 贡献值0点
  • 好评度53点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2007-07-20 14:24
还有packze 大哥说的最好处理一下ServiceDescriptorTableShadow是什么意思?
chenting1987
驱动牛犊
驱动牛犊
  • 注册日期2006-11-29
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分530分
  • 威望54点
  • 贡献值0点
  • 好评度53点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2007-07-21 10:22
怎么没有人解答啦,自己顶一个,期待答案哦
我怎么hook不成功啊?
chenting1987
驱动牛犊
驱动牛犊
  • 注册日期2006-11-29
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分530分
  • 威望54点
  • 贡献值0点
  • 好评度53点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2007-07-21 10:53
我做的步骤:
进入Csrss.exe的进程空间
找到序号为549的函数地址
修改为自己函数的地址,在当时看来确实是修改了
退出Csrss.exe的进程空间
我用snipesword查看,并没有hook成功
难道要做一些其他的事??
期待解答啊
chenting1987
驱动牛犊
驱动牛犊
  • 注册日期2006-11-29
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分530分
  • 威望54点
  • 贡献值0点
  • 好评度53点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2007-07-21 15:16
问题解决了,结贴了哈。
我上面的那个问题是我定位549号函数地址时出了错误,才没有HOOK到!
感谢 bladellz  zhaock WQXNETQIQI packze zzzevazzz 的细心解答!!!!
游客

返回顶部