您的位置:首页 > 其它

【转】读取SSDT表和原函数地址

2012-11-29 16:53 141 查看
读取当前地址代码(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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: