使用WinDbg获取SSDT函数表对应的索引再计算得出地址

Posted _Flame

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用WinDbg获取SSDT函数表对应的索引再计算得出地址相关的知识,希望对你有一定的参考价值。


当从Ring3进入Ring0的时候会将所需要的SSDT索引放入到寄存器EAX中去,
所以我们这里通过EAX的内容得到函数在SSDT中的索引号,然后计算出它的地址
首先打开WinDbug,我们以函数ZwQueryObject为例:

 


从mov eax 0F8h,知道我们的索引号是0F8h.
来验证一下,看看是不是函数ZwQueryObject。

我们先获取到SSDT的地址:

第一个8488a43c是SSDT的基地址,我们知道函数的地址等于SSDT基地址
+4*索引号,算出函数指针地址为8488a81c

最后u 84a0e0b5得到反汇编看出我们正确得到了ZwQueryObject

这两天学习一个大神的SSDT Hook下次贴出来当作心得

以上是关于使用WinDbg获取SSDT函数表对应的索引再计算得出地址的主要内容,如果未能解决你的问题,请参考以下文章

09SSDT概述

如何获得SSDT地址

win 64 Shadow ssdt hook

ring0 SSDTHook

YJX_Driver_017_需要具备的理论知识

获取SSDT,SSSDT原始函数地址