首页
社区
课程
招聘
[求助]RootKit 应用之[二] 的问题
发表于: 2008-10-17 22:59 4397

[求助]RootKit 应用之[二] 的问题

2008-10-17 22:59
4397
小弟今天看RootKit 应用之[二] SSDT hook http://bbs.pediy.com/showthread.php?t=58199
有一个地方不能理解,代码开头:
----------------------------------------------------------
lea  eax, [ebp-1Ch]
  push  eax          ;ReturnLength
  push  ebx          ;SystemInformationLength = 0
  lea  eax, [ebp-20h]   
  push  eax          ;SystemInformation
  push  0Bh          ;SystemModuleInformation,遍历模块
  mov  esi, ZwQuerySystemInformation
  call  esi ; ZwQuerySystemInformation ,第一次调用得到需要的缓冲区长度
--------------------------------------------------------------------
call是调用ZwQuerySystemInformation吧,但是这样调用不会有问题吗,前面的
mov esi,ZwQuerySystemInformation是为了把ZwQuerySystemInformation函数的地址赋给esi吧,那是不是应该改成mov esi,offset ZwQuerySystemInformation才可以呢。。。。咱好晕啊。。。。。

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (7)
雪    币: 184
活跃值: (65)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
2
ZwQuerySystemInformation是函数指针。内存中表示为[xxxx],xxxx为函数指针地址,
所以
mov  esi, ZwQuerySystemInformation对应mov esi,[xxxx]
如果改为 mov esi,offset ZwQuerySystemInformation则对应 mov esi,xxxx
你觉得哪个对呢?
2008-10-17 23:13
0
雪    币: 0
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
昨天pathletboy大大已经帮我一次了,小弟非常感激,那么pathletboy大大认为下面代码是mov eax,offset f能正常运行还是mov eax,f能正常运行呢
#include <stdio.h>
#include <string.h>
void f(){
   printf("asdf\n");
}
int main()
{
  _asm{
          mov eax,offset f
          call eax
  }
return 0;
}
用mov eax,offset f才能正常调用f函数
那么是不是说明ZwQuerySystemInformation在内存中表示为[xxxx],xxxx为函数指针,而不是函数指针地址
2008-10-17 23:33
0
雪    币: 184
活跃值: (65)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
4
要注意,你这个是函数,那个是函数指针,2者不同。
2008-10-17 23:40
0
雪    币: 0
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
不懂。。。ZwQuerySystemInformation是函数指针??函数指针貌似要先定义指针吧。。。。。我觉得那个程序里面的ZwQuerySystemInformation用法更像我小程序里面的f用法
2008-10-17 23:54
0
雪    币: 0
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
不明白啊,实在不明白。。。ZwQuerySystemInformation怎么看都只是一个函数而已,为什么说它是函数指针
2008-10-18 01:13
0
雪    币: 0
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
终于明白了。。。。。谢谢pathletboy
2008-10-18 15:09
0
雪    币: 184
活跃值: (65)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
8
把函数指针 , 函数指针地址, 函数地址 3个区别清楚,就明白了。
2008-10-18 16:00
0
游客
登录 | 注册 方可回帖
返回
//