首页
社区
课程
招聘
[求助]Ring0下如何读SSDT表?
发表于: 2008-6-20 23:35 7395

[求助]Ring0下如何读SSDT表?

2008-6-20 23:35
7395
搜了!!!
比较详细的都是Ring3下读,Ring0下恢复。
另外几篇牛人们一笔带过。
老菜在此恳请详解!
谢过先。。。

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (14)
雪    币: 184
活跃值: (75)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
2
typedef struct _SERVICE_DESCRIPTOR_TABLE
{
  PVOID   ServiceTableBase;
  PULONG  ServiceCounterTableBase;
  ULONG   NumberOfService;
  ULONG   ParamTableBase;
}SERVICE_DESCRIPTOR_TABLE,*PSERVICE_DESCRIPTOR_TABLE; //由于KeServiceDescriptorTable只有一项,这里就简单点了
extern PSERVICE_DESCRIPTOR_TABLE  KeServiceDescriptorTable;//KeServiceDescriptorTable为导出函数
2008-6-21 15:52
0
雪    币: 375
活跃值: (12)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
3
因为SSDT导出了。
所以,拿去用吧。
2008-6-21 16:31
0
雪    币: 26
活跃值: (28)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
函数名称、函数原址在哪里?
2008-6-22 09:43
0
雪    币: 26
活跃值: (28)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
驱动里通过KeServiceDescriptorTable取得每个函数的地址,
怎么通过此地址得到函数名称呢??
2008-6-23 23:35
0
雪    币: 26
活跃值: (28)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
通过KeServiceDescriptorTable获得服务号和当前地址,
再通过“ntdll.dll”可以获得“Nt”开头的服务名称,
但如何关联呢?哪个服务号对应哪个服务名?
2008-7-8 23:19
0
雪    币: 722
活跃值: (123)
能力值: ( LV12,RANK:300 )
在线值:
发帖
回帖
粉丝
7
ntdll.dll中的函数第一句代码通常是
mov eax,XXXX
这个XXXX就是服务号了。
2008-7-9 14:36
0
雪    币: 82
活跃值: (10)
能力值: (RANK:210 )
在线值:
发帖
回帖
粉丝
8
搜noobhook
2008-7-9 16:28
0
雪    币: 26
活跃值: (28)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
thanks, addr + 1.
2008-7-10 21:47
0
雪    币: 145
活跃值: (85)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
10
没有看懂大家说什么。
2008-7-13 19:01
0
雪    币: 26
活跃值: (28)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
谢谢楼上两位朋友!
两月多后再次顶起这个帖子。

在Ring0下要获取SSDT原始地址,
对于各位来说已经是玩了不要的技术了,
但老菜我还是有些不明白,想继续请教各位科普一下:

通过加载ntosknel.exe,
找到导出表中KeServiceDescriptorTable的地址后,
又该如何确定各个函数的原始地址呢?
论坛中「SSDT UnHook」代码中的 RVAToRaw 这个函数的功能也不是很明白,
请各位指教,谢谢!!!
2008-9-18 23:42
0
雪    币: 522
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
12
[QUOTE=;]...[/QUOTE]
那个函数是虚拟地址转文件偏移。函数原始地址一般是分析文件导出表得KST地址 Kst加Index*4值在还原。
2008-9-19 08:06
0
雪    币: 26
活跃值: (28)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
嗯,我也知道是分析……
还是自己弄吧。
2008-9-19 21:38
0
雪    币: 522
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
14
网上很多例子的,多找找吧。自己弄除非很了解原理 不然会走很多弯路。。拿网上的例子结合自己的所知去理解。很快!
2008-9-20 20:34
0
雪    币: 239
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
我做过一个,现在给丢了,最后还有一个不明的是,在我的机子中,SSDT表不在NTOSKRNL.EXE中,在虚拟机中完全正确
2008-9-24 14:39
0
游客
登录 | 注册 方可回帖
返回