读取SSDT表和原函数地址

今天的成果,读取了我的SSDT地址.

 

读取当前地址代码(NtOpenProcess): LONG *SSDT_Adr,t_addr,adr; t_addr=(LONG)KeServiceDescriptorTable->ServiceTableBase; SSDT_Adr=(PLONG)(t_addr+0x7a*4); adr=*SSDT_Adr;

读取起源地址(NtOpenProcess):

UNICODE_STRING SysRoutineName;

LONG orgadr;

RtlInitUnicodeString(&SysRoutineName,L"NtOpenProcess");

orgadr=(LONG)MmGetSystemRoutineAddress(&SysRoutineName);

 

通过得到的地址 可以判断改函数是否被hook

 

自己读取的SSDT表:

SSDT 地址 | 起源地址. NtOpenProcess->805751e0 | 805751e0

读取SSDT表和原函数地址

上一篇:记一次在*上问问题的经历


下一篇:wcf服务引用无实体类对象