觀察windows的核心模組、資料結構和函式
1, 啟動windbg的本地核心除錯(file > kernel debug… > local)。
2, 鍵入.symfix c:"symbols設定符號伺服器和用於儲存符號檔案的本地目錄。
3, 鍵入.sympath觀察當前的符號路徑。其結果應該如下所示:
lkd> .sympath
symbol search path is: srv*c:"symbols*
5, 鍵入lm命令列出所有核心模組。尋找hal,nt等模組,觀察其在記憶體中的起止位置。
6, 鍵入!process 0 0命令列出當前系統內執行的所有程序。
7, 鍵入!process 4顯示系統程序(system)的概況和各個執行緒。記錄下該程序的程序結構(process)位址。
lkd> !process 4
searching for process with cid == 4
process86fb7660 sessionid: none cid: 0004 peb: 00000000 parentcid: 0000
dirbase: 00039000 objecttable: e1001c78 handlecount: 396.
image: system
vadroot 86fae870 vads 4 clone 0 private 3. modified 124205. locked 0.
devicemap e1005470
8, 通過dt命令(dt nt!_eprocess)觀察程序的_eprocess結構。
9, 在dt nt!_eprocess命令後加上第7步記錄下的位址,顯示系統程序的_eprocess結構的各個值。
lkd> dt nt!_eprocess 86fb7660
+0x000 pcb : _kprocess
+0x06c processlock : _ex_push_lock
10,鍵入x nt!*命令列出核心檔案(ntoskrnl)所包含的符號。嘗試使用不同的表示式來選擇顯示某些符號,比如x nt!dbgk*顯示所有以dbgk開頭的符號。
11,關閉windbg結束除錯。
觀察Windows的核心模組 資料結構和函式
觀察windows的核心模組 資料結構和函式 1,啟動windbg的本地核心除錯 file kernel debug local 2,鍵入.symfix c symbols設定符號伺服器和用於儲存符號檔案的本地目錄。3,鍵入.sympath觀察當前的符號路徑。其結果應該如下所示 lkd sympat...
Windows核心模組名稱遍歷
0x00 原理 核心模組資訊以 ldr data table entry結構形式存在於系統,該結構以雙向鍊錶將所有的模組資訊關聯起來。0x01 實現 1.1 基於windbg獲取 ldr data table entry結構 在windbg中除錯過程中輸入 dt ldr data table ent...
觀察Python環境中的模組
雖然我經常會遇到需要寫python指令碼的情況,但是大多是在某個環境中,比如houdini或者ue4等,所寫的大多是一小段邏輯。因此,對於那些牽扯到多個python檔案的較大型的python專案,我還沒有經驗。這導致目前我對python裡 模組 這個概念有很多不了解之處。目前,我所最關注的問題是 當...