64位內核開發第四講,查看SSDT表與showSSDT表


SSDt表與ShadowSSDT表的查看.

一丶SSDT表

1.什么是SSDT表

SSDT表示系統服務表,我們ring3調用的很多函數都會調用這個SSDT表

2.查看步驟

1.使用 x命令

前提需要加載好符號.

x nt!kes*des*table*

KeServiceDescriptorTableShadowShadowSSDT表
KeServiceDescriptorTableSSDT表.

2.查看地址的值

使用dd命令可以查看這個地址里面值.如下.

首先可以看選中的位置.這個是SSDT表的起始地址. 后面*0x11C
是這個表的個數

我們可以使用dds命令來查看這個表.
dds命令可以看第三講.關於windbg調試命令

dds Address L11C 

這個命令的意思就是顯示地址里面值指向的地址. 以4個字節顯示.
顯示如下:

如果你有符號.則可以看到這些地址里面后面指向的函數名

可以使用 uf 來反匯編這個函數的所有匯編

二丶ShadowSSDT表

1.什么是ShadowSSDT表

ring3的所有GUI會調用的到這個表格中.

2.如何查看.

System系統進程是沒有加載ShadowSSDT表的.所以我們必須切換到調用GUI的進程空間中查看.

1.在系統中運行 mspaint 畫圖工具
2.在windbg中中斷.
3.輸入命令.查看系統所有簡要信息

!process 0 0 

4.找到mspaint的EPROCESS結構.切換到這個進程上下文

.process /p EPROCESSADDRESS

5.使用x命令查找ShadowsSSDT

x nt!*kes*des*table*

如下:

6.查看shodowSSDT

shodowSSDT 跟SSDT挨着.上面查看SSDT的時候 shodowSSDT沒有加載
所以沒有.所以現在看一看下.如上圖. 有起始地址.跟大小.

不管是SSDT還是shodowSSDT表.都是有這個表的大小.
在32位下.函數地址是4個字節. 所以用表的大小 / 4 = 函數個數.

這個表中的函數都是做繪圖用的.

三丶工具介紹

Process Monitor
工具是進程監控工具.可以監視所有進程活動.
現在的火絨劍也是可以.
如下圖;
微軟下載地址:
https://docs.microsoft.com/zh-cn/sysinternals/downloads/procmon
工具界面

可以設置過濾器.進行過濾.比如我只想看進程創建.如何操作.

Process Explorer

微軟下載地址:
https://docs.microsoft.com/zh-cn/sysinternals/downloads/process-explorer

這個工具則可以實時查看進程.並且可以掛起進程.等操作進程.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM