OD的簡單使用

桑树不晚發表於2024-03-25

OllyDbg的簡單使用-SMC

以scu×401ctf2021-re2-pixpix為例

1.先查殼,無殼,進入IDA進行分析

2.進入main函式,並沒有特殊的字串進行提示,exe檔案也沒有提示需要進行輸入。

繼續分析,GetPixel函式提取了對應座標的畫素值,然後在if-dowhile迴圈中進行了異或操作,跟進位元組檢視,大概猜測是對某個函式進行了smc操作

3.使用od進行分析可以更清楚檢視資料的變化

​ a.進入od介面,使用中文搜尋引擎定位到函式入口

​ b.F9啟動除錯,這裡有個關鍵地址0xA83384-A83386,存放了在ida分析中的三個位元組{0x34, 0x30, 0x31}

​ c.但是彙編指令 mov ds[0xA83385],c1將地址存放的值修改為0了

​ d.先動態除錯找到if判斷(如果對彙編不熟悉的話。。

定位到關鍵操作異或,彙編指令mov a1,ds[ecx+0xA83384]給a1進行賦值,並且可以猜測0xA81050存放的就是待異或的flag

但是0xA83384-0xA83386的值都被修改過

​ e.重新啟動程式進行除錯,在地址內的值被修改之後再把值修改回去,這裡三次地址都需要修改

​ f.然後直接在迴圈之後F2下斷點,就可以看到smc被解碼了,flag被列印出來