2017年9月13日 星期三

[逆向分析] 用ollydbg分析 簡單的c++程式

C++與C語言,寫起來有些相同,有些不同。

(其他大神,請略過)

逆向分析,有些會有多出來一些,有些又不同,其實都是大同小異。

我的原始碼


把執行檔丟到OD裡面。

不浪費時間了,我們直接來看所有字串吧。



找到很像很類似C語言的進入點,從這邊先判斷開始進入。

這邊你會覺得跟C語言的東西感覺又多了很多東西   沒錯~   這是一個標準輸入輸出的Stream
裡面包含了一堆東西,從這邊開始,會講一些細節的東西。



在各位的Dev C++的安裝目錄中會出現iostream的這個檔案,沒有副檔名,只是一個檔案,這個檔案裡面,寫著一堆程式碼,主要目的就是讓Std能正常被執行。

各位會發現cout 跟cin出現在裡面。
我們繼續順著他的方向繼續前進。


下圖,這個檔案就是他的來源。
其實這個並不好解釋,會牽扯到一堆更深層的細節,請自行觀察理解。


回到OD,我推測OD裡面這些程式碼,應該就是跟iostream檔案的這邊有一定的相關性。


以下這些都可以根據C語言的那些規則看出來。


下面的endl依照一般的執行,可以看出來是類似"\n",這樣的東西。
在OD裡面也可以判斷的出來。


前面在做前置作業,後面會跟著釋放,這可以很明顯的推測iostream裡面的東西在底層的運作方式。


簡單的深入探討iostream與ostream程式碼的檔案來源。


有著作權,請勿任意轉載。若要分享,請註明本篇來源。



Ollydbg 2.01 繁體中文版

Ollydbg 2.01 繁體中文版 Ollydbg 2.01 繁體中文版下載: Mega:   https://mega.nz/#!I2Qy1aQD!-T5zO3PaANjBHU73I4NlkY8SHMxRptbBV8TpmeFt1fo GD: h...