2013年10月23日 星期三

Pop Quiz of Dump Sharing (6) – windbg script writing

 

上課Vedio (to be add)

1) KD 檢查thread hang, 通常都已經進到kernel context , 切回user mode 的Context, 要先怎麼什麼k command 的參數來把trapframe秀出來

.kvn

2)承1,找到trapframe number之後下什麼command 來切回user mode context

.trap

3)承2, 在此x64 user context中,找那一個register 來做stack reconstruct, 指令怎麼下

dps <rsp> Lxx

4)  下什麼command 來把thread 切到wow64 的32 bit context

.thread /w <thread>

5) 怎麼檢查目前是那一種expression

.expr

6) 怎麼切成c++ expression

.expr /s c++

7)試解釋為什麼 bp main+5c 只能在MASM expression 用, 但不能在C++用

因為masm 會把symbol (main) 當成一個address, 可以相加, 但是c++ expression 無法知道symbol +數字的意思(type 不能混用)

8)??是那一個expression 的evaluation

C++

9)要指定expression 要用什麼evaluator

@@

2013年10月16日 星期三

Pop Quiz of Dump Sharing (5) – x64 platform introduction

 

上課Vedio (youtube)

1) 要看thread目前用的stack 範圍要用那二個值夾擠?

.teb的stack base 和 register 的 esp

2)x86下, Q1中要用什麼指令來方便找ebp chain

dps

3) 如果手動找到ebp, 要怎麼下k 指令來重建stack

k = ebp esp eip

4) Q3中, 要檢查什麼?

1.Start Function是不是 BaseThreadStart

2. 看stack frame 合不合理

5) 切回exception 前的context 要用什麼指令

.cxr

6) x64 有幾種Calling convention

只有一種fastcall

7)x64  的fastcall 是用那幾個register 傳

cd89

8)試解釋homing 是什麼

雖然參數用register 傳 但是也會把參數放在stack中, 方便debug

9)Reverse 時, memory 視窗打@$csp的目的是

保持memory 視窗show 出目前用到的stack