读取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表和原函数地址的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: VC编译的除法的一段汇编代码解释
- 下一篇: 日服巫术online过驱动保护分析(纯工