-
-
刚接触ssdt有几个小问题还望大伙帮忙
-
发表于:
2010-2-22 12:14
3223
-
我用depends打开ntoskrnl.exe用找到了它的输出表项KeServiceDiscriptorTable,根据它列出的相对地址8b520,查看它的节表,该相对地址在节区 .data | 00018B28 | 0007C000 | 00007C00 | 00079400 | C8000040 ,那么它对应的RawAddress应该是
79400+ (8b520- 7c000) = 88920
直接用winhex打开找到88920 ,
00088920h: 35 78 1C 49 00 89 75 EC 0F 84 13 5C 04 00 EB 42 ;
然后对着ServiceDescriptorTableEntry_t进行比对,发觉不太对劲錒,0F 84 13 5C应该是对应的服务函数个数,这也太多了,不知道哪里搞错了,还望高手指点一二錒.
typedef struct ServiceDescriptorEntry {
unsigned int *ServiceTableBase;
unsigned int *ServiceCounterTableBase; //Used only in checked build
unsigned int NumberOfServices;
unsigned char *ParamTableBase;
} ServiceDescriptorTableEntry_t, *PServiceDescriptorTableEntry_t;
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!