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...