顯示具有 assembly 標籤的文章。 顯示所有文章
顯示具有 assembly 標籤的文章。 顯示所有文章

2014年6月25日 星期三

Debug 程式好用的指令 EB FE

0xEBFE 是一個短跳指令, 作用是跳到這個指令原本的位址
可以看做是單一指令的 infinite loop

有時候想 attach debugger 到某個程式時可以先把 EP 改成 EBFE
等程式在這邊 loop 時再 attach 上去就好了

2013年11月23日 星期六

Windows Thread Environment Block 位址

Windows 用 FS 暫存器來儲存 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