0xEBFE 是一個短跳指令, 作用是跳到這個指令原本的位址
可以看做是單一指令的 infinite loop
有時候想 attach debugger 到某個程式時可以先把 EP 改成 EBFE
等程式在這邊 loop 時再 attach 上去就好了
2014年6月25日 星期三
2013年11月23日 星期六
Windows Thread Environment Block 位址
Windows 用 FS 暫存器來儲存 TEB 的位址,
TEB 的開頭是一個名為 TIB (Thread Information Block) 的資料結構
TIB 中偏移 18h 的欄位是一個指向 TEB 的指標
所以反組譯 Windows API 會常看到用 fs:[18h] 來取得 TEB 的位址
TEB 的開頭是一個名為 TIB (Thread Information Block) 的資料結構
TIB 中偏移 18h 的欄位是一個指向 TEB 的指標
所以反組譯 Windows API 會常看到用 fs:[18h] 來取得 TEB 的位址
組合語言一些簡單指令
0x6a, push 一個 8 bits 數值
0x68, push 一個 32 bits 數值
ex:
// 指令長度 2 bytes, push 0 到 stack
6a 00
// 指令長度 5 bytes, push 1 到 stack
68 00 00 00 01
0x68, push 一個 32 bits 數值
ex:
// 指令長度 2 bytes, push 0 到 stack
6a 00
// 指令長度 5 bytes, push 1 到 stack
68 00 00 00 01
訂閱:
文章 (Atom)