-
-
[求助]为什么同样的服务描述表地址输出的数值不同呢
-
发表于:
2010-12-6 11:34
3860
-
[求助]为什么同样的服务描述表地址输出的数值不同呢
有如下声明:
#include "ntddk.h"
#pragma pack(1)
typedef struct ServiceDescriptorEntry
{
unsigned int *ServiceTableBase;
unsigned int *ServiceCounterTableBase; //Used only in checked build
unsigned int NumberOfServices;
unsigned char *ParamTableBase;
} SSDTEntry;
__declspec(dllimport) SSDTEntry KeServiceDescriptorTable;
#pragma pack()
然后我在入口函数里面打印数值
ULONG pointer = 0 ;
__asm int 3
DbgPrint("KeServiceDescriptorTable:%x\r\n",KeServiceDescriptorTable);
__asm
{
pushad
mov eax , KeServiceDescriptorTable
mov pointer,eax
popad
}
DbgPrint("second:%x\r\n",pointer);
output:
KeServiceDescriptorTable:80505450
second:8055d700
补充一下: 8055d700这个地址里面保存的是80505450这个数字
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!