1.2嘗試靜態分析(《有趣的二進制》)

不記錄彷彿沒有學過。。還是記錄一下,雖然花時間,但是重新看起來也容易。


//預備

靜態分析:不運行目標程序,分析代碼
動態分析:運行時分析

靜態分析:
1、閱讀反彙編代碼
2、提取可執行文件中的字符串,分析使用了哪些單詞
3、二進制編輯器查看可執行文件內容

作者認爲的逆向工程四大件:
二進制編輯器,計算器,反彙編器,調試器

推薦的兩種二進制編輯器:
Stirling(日語)
BZ Editor(大文件處理)

我安裝的兩種二進制編輯器:
Stirling(日語)
Hex Editor Neo

PE格式:exe可執行文件的二進制格式?

IDA:IDA 7.0 Freeware
https://www.hex-rays.com/products/ida/support/download.shtml
分析彙編語言,看流程圖分析軟件


//實驗目的
拿到文件 wsample01a.exe,我們都能做些什麼?


1、二進制編輯器出場,不運行,二進制看看這個exe先
1
字符串:MESSAGE,Helllo!Windows
2
文件路徑:C:\Documents and Settings\XPMUser\My Documents\Visual Studio 2010\Projects\wsample01a\Release\wsample01a.pdb

3
字符串:KERNEL32.dll,MessageBoxW

得到這三個有用信息。

2、反彙編工具 IDA出場,分析流程圖,具體程序邏輯,知道程序到底要幹什麼,可以利用這個程序乾點什麼其他的事情
這裏書上寫的雙擊wWinMain這個函數,木有找到,但是找到了這個sub_401000函數,發現是完全一樣的。
函數
找到這個程序分支,這是彙編語言的控制流圖。發現如果傳入參數2012,會有不同的運行結果。
在這裏插入圖片描述
無參數:
在這裏插入圖片描述
有參數:2012
在這裏插入圖片描述

在這裏插入圖片描述

我們發現了通過傳遞2012這個參數,程序的顯示結果會發生變化,這很重要。我們在沒有源代碼的情況下,搞清楚了程序的行爲。這就是逆向工程。

關於彙編和源代碼後面會繼續學習。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章