TEB和PEB的知識複習

2021-07-13 04:52:16 字數 1651 閱讀 8697

peb(process environment block,程序環境塊):存放程序資訊,準確的peb位址應該從系統的exprocess結構的0x1b0偏移出獲得,但這個結構位於系統位址空間,訪問 需要 ring0許可權,所以一般通過teb結構的偏移0x30處獲取peb.

獲取peb**:mov eax, fs:[0x30]  

mov peb, eax

teb(thread environment block,執行緒環境塊):存放執行緒資訊,位於使用者位址空間,程序中的每個執行緒都有自己的乙個teb.通過fs暫存器來訪問,一般儲存在fs:[0].

1. peb:

使用windbg檢視peb:

1)!peb (注意:使用!peb只能看到重要成員資訊,但是可以看到它的起始位址.)

2)dt 7efde000 _peb (注意:使用dt _peb能看到所有成員資訊,但是看不到它的起始位址.)

通過以上輸出結果,可以獲得程序:

imagebaseaddress程式載入的基位址, 

processheap堆起始位址

beingdebuggeddebug執行標誌

等等資訊.

知識點:

... peb + 0xc ldr  ==> _peb_ldr_data  // 可執行檔案的裝載資訊.

... 使用dt 檢視ldr.

... 檢視ldr_module結構

... 鍊錶節中的frist,next.

以上是peb中一些重要的資訊.

2.teb:

使用windbg檢視teb

1)!teb  (檢視teb所有重要成員)

2)dt 7efdd000 _teb  (檢視teb所有成員) 

fs:[0x18]指向的是teb自身, fs[0x30]就是peb所在的位置.

teb各偏移說明:

0x0:指向seh鏈指標

0x4:執行緒堆疊頂部

0x8:執行緒堆疊底部

0x18:指向teb自身

執行緒的知識複習

多執行緒實現多工 多執行緒實現多工 import time import threading 內建模組 def demo print hello world time.sleep 1 if name main for i in range 3 demo 迴圈一次 呼叫一次 再執行 所以並不是同時執行...

C 複習 類和物件的基礎知識

類構成了實現c 物件導向程式設計的基礎。類是c 封裝的基本單元,它把資料和函式封裝在一起。乙個類描述一類事物,描述這些事物所應具有的屬性。在類之後定義成員函式 隱含的this指標 類的訪問限定符 private 私有 protected 保護 類的訪問限定符體現了物件導向的封裝性。作用域類的作用域 ...

複習前端知識的新收穫

j ascript 函式 不使用function 訪問函式而直接寫function將返回函式宣告而不是函式結果 function tocelsius f j ascript 數字 浮點的算數並不總是 100 精準 0.2 0.1 0.30000000000000004 但是乘法和除法是有用的 0.2...