首页
社区
课程
招聘
[求助]关于获取SSDT中NtReadVirtualMemory地址
发表于: 2013-7-12 15:25 5085

[求助]关于获取SSDT中NtReadVirtualMemory地址

2013-7-12 15:25
5085
小弟是新手,请各位大神帮忙解惑一下,谢谢你们啦 非常感谢。

最近小弟在参考了一些文章后,顺利获得NtReadVirtualMemory的服务号为0XBA,然后用Kernel Detective验证了一下,确实正确。

我的问题是
1.我在网上看到获取 NtReadVirtualMemory地址做法是,用SSDT表的基地址+它的服务号索引,NtReadVirtualMemoryAddr = KeServiceDescriptorTable->ServiceTableBase + pos_ReadVirtualMemory(服务号),这个SSDT的基地址怎么获得?

SSDT表的结构体我是网上考过来的,它的定义是
typedef struct ServiceDescriptorEntry {
unsigned int *ServiceTableBase;//System Service Dispatch Table 的基地址
unsigned int *ServiceCounterTableBase; //包含着 SSDT 中每个服务被调用次数的计数器。这个计数器一般由sysenter 更新。
unsigned int NumberOfServices;//由 ServiceTableBase 描述的服务的数目。
unsigned char *ParamTableBase;//包含每个系统服务参数字节数表的基地址-系统服务参数表
} ServiceDescriptorTableEntry, *PServiceDescriptorTableEntry;

2. 还有 上面写的式子是不是要将服务号乘4啊,因为地址占4个字节?

谢谢大家,表示非常感谢。

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

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 4817
活跃值: (23)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
1.你何止驱动新手啊,你是C新手啊,(int*)a + 1 = (char*)a + 4!!!
你看看ServiceTableBase的类型是什么。

2,NtReadVirtualMemory=*( KeServiceDescriptorTable->ServiceTableBase + pos_ReadVirtualMemory)。记得有个取值符,只不过是张表而已,这张表存放函数的地址。

3.KeServiceDescriptorTable是导出的,不用获取,声明下就可以用。
2013-7-12 15:31
0
雪    币: 32
活跃值: (17)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
啊,对俄,**了- -!,这几天看晕了。。
        非常感谢你啊,被你一解释我瞬间被解惑了。
        再次谢谢你,很感激,祝身体健康 呵呵
2013-7-12 15:42
0
雪    币: 220
活跃值: (117)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
4
//KeServiceDescriptorTable(由ntoskrnl.exe导出)
typedef struct _KE_SERVICE_DESCRIPTOR_TABLE{
  PVOID pServiceTable;      //服务表
  PULONG pServiceCounterTable;  //服务表的函数计数表
  ULONG NumberOfService;      //服务函数的个数
  ULONG ParamTableBase;
} KE_SERVICE_DESCRIPTOR_TABLE,*PKE_SERVICE_DESCRIPTOR_TABLE;

//手动添加到导入表:
__declspec(dllimport)
PKE_SERVICE_DESCRIPTOR_TABLE KeServiceDescriptorTable;

PULONG SSDT = (PULONG)KeServiceDescriptorTable->pServiceTable;
DbgPrint("NtReadVirtualMemory地址是:%x",SSDT[0XBA]);

同样方法 试用所有SSDT
2013-7-12 17:54
0
雪    币: 32
活跃值: (17)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
谢谢你,确实是这样,感谢你呀。祝身体健康 呵呵
2013-7-14 16:31
0
游客
登录 | 注册 方可回帖
返回
//