這邊先說好,程式會有另一區塊,也就是不像之前只有主程式,現在會增加一塊function出來
(其他大神 請略過)
這是原始碼
進入點開始,經驗立刻判斷,esp+0x1C內部為1
esp+0x18內部為2,分別是X與Y,堆疊內的數值也很明顯。
esp+0x4內部為2,esp內部為1,就是先一起帶入合併。
下一行 用call直接送入add這個function內部
經驗判斷 edx與eax 分別為 1跟2
相加後 丟給eax 然後回傳
最後得到的結果是3
帶參數的函式比較簡單 跟之前的無參數很類似,只是多了function這一塊。
有著作權,請勿轉載。若要分享,請註明本篇來源。
2017年9月11日 星期一
[逆向分析] 用IDA Pro 靜態分析簡單的C程式碼
這篇要介紹靜態分析的工具 IDA Pro
(其他大神 請略過)
IDA Pro分析簡單的程式碼到這邊。
個人感覺動態分析比較容易觀察走向。
這跟Ollydbg不同, 無法即時觀察到暫存器的運作,但是其他的功能特別多~~~
這是原始碼與IDA Pro的樣子
這款軟體,對我來說不陌生,但是無法觀看即時暫存器的訊息。
依照之前的OD分析經驗,應該可以立刻判斷出esp+1C與esp+18裡面分別存放的東西,可以推測到原始碼的x與y的值。
從esp+1C 判斷 把值給了edx
esp+18的值給了eax
因此edx為1,eax為2
add eax,edx
把edx+eax的值加起來後,存放到eax
1+2=3 3存放到eax
這邊的eax並"不"是Z
這邊他把eax視為x+y的結果,放入esp+14
這個esp+14 "就是"Z
把esp+14的值放到eax內,把eax值放入esp+4
準備跟下一行共同做輸出。
這樣輸出後,就是最後的答案了。
這是用OD來看,會比較容易理解。
IDA Pro分析簡單的程式碼到這邊。
個人感覺動態分析比較容易觀察走向。
有著作權,請勿任意轉載。若要分享,請註明本篇來源。
訂閱:
文章 (Atom)
Ollydbg 2.01 繁體中文版
Ollydbg 2.01 繁體中文版 Ollydbg 2.01 繁體中文版下載: Mega: https://mega.nz/#!I2Qy1aQD!-T5zO3PaANjBHU73I4NlkY8SHMxRptbBV8TpmeFt1fo GD: h...
-
Ollydbg 2.01 繁體中文版 Ollydbg 2.01 繁體中文版下載: Mega: https://mega.nz/#!I2Qy1aQD!-T5zO3PaANjBHU73I4NlkY8SHMxRptbBV8TpmeFt1fo GD: h...
-
C++ 程式語言基本教學---輸出變數 程式碼 這兩行不難看出只是輸出宣告的變數,雙引號內的為字串,沒有雙引號的是變數,其他就是運算符。 執行他 cout 輸出 endl換行 其他我就不多說了,可以自行往前...
-
防毒精簡殺毒解析 特徵碼殺毒 簡單來說,就是判斷指紋。 幾乎所有防毒公司都有應用,只是產生指紋的方式都不同。 但是一個防毒攜帶的特徵碼太多,會導致防毒的檔案資料過大,資源被消耗。 解決方法 : 移除所有特徵碼資料 ------------------...