能力值:
( 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为导出函数
|
能力值:
( LV8,RANK:130 )
|
-
-
3 楼
因为SSDT导出了。
所以,拿去用吧。
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
函数名称、函数原址在哪里?
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
驱动里通过KeServiceDescriptorTable取得每个函数的地址,
怎么通过此地址得到函数名称呢??
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
通过KeServiceDescriptorTable获得服务号和当前地址,
再通过“ntdll.dll”可以获得“Nt”开头的服务名称,
但如何关联呢?哪个服务号对应哪个服务名?
|
能力值:
( LV12,RANK:300 )
|
-
-
7 楼
ntdll.dll中的函数第一句代码通常是
mov eax,XXXX
这个XXXX就是服务号了。
|
能力值:
(RANK:210 )
|
-
-
8 楼
搜noobhook
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
thanks, addr + 1.
|
能力值:
( LV5,RANK:60 )
|
-
-
10 楼
 没有看懂大家说什么。
|
能力值:
( LV2,RANK:10 )
|
-
-
11 楼
谢谢楼上两位朋友!
两月多后再次顶起这个帖子。
在Ring0下要获取SSDT原始地址,
对于各位来说已经是玩了不要的技术了,
但老菜我还是有些不明白,想继续请教各位科普一下:
通过加载ntosknel.exe,
找到导出表中KeServiceDescriptorTable的地址后,
又该如何确定各个函数的原始地址呢?
论坛中「SSDT UnHook」代码中的 RVAToRaw 这个函数的功能也不是很明白,
请各位指教,谢谢!!!
|
能力值:
( LV4,RANK:50 )
|
-
-
12 楼
[QUOTE=;]...[/QUOTE]
那个函数是虚拟地址转文件偏移。函数原始地址一般是分析文件导出表得KST地址 Kst加Index*4值在还原。
|
能力值:
( LV2,RANK:10 )
|
-
-
13 楼
嗯,我也知道是分析……
还是自己弄吧。
|
能力值:
( LV4,RANK:50 )
|
-
-
14 楼
网上很多例子的,多找找吧。自己弄除非很了解原理 不然会走很多弯路。。拿网上的例子结合自己的所知去理解。很快!
|
能力值:
( LV2,RANK:10 )
|
-
-
15 楼
我做过一个,现在给丢了,最后还有一个不明的是,在我的机子中,SSDT表不在NTOSKRNL.EXE中,在虚拟机中完全正确
|
|
|