IDA 基本操作 夜車星繁的博客

一丶熟悉IDA,以及手工製作sig文件.

IDA,靜態分析工具,網上隨便找一個即可下載.

首先,我們寫一個可執行EXE,最簡單的

 

使用IDA打開.

1.提示使用什麼格式打開

因爲是PE格式,所以我們選擇PE即可.點擊OK

2.重新打開一下

如果以前已經打開過這個PE,那麼重新打開,則會顯示這三個按鈕,

1.overwrite 重新寫入,代表覆蓋以前的.(聯繫中常用這個,工作中不常用)

2.load existing 加載已經存在,這個很常用,因爲有的時候彙編的註釋很多,或者樣本分析不會是一天完成,那麼加載這個已經存在的即可.

3.取消.

3.打開後顯示的視圖

這個視圖是羅列出函數的邏輯.

我們不看這個,主要是看彙編代碼.

1.切換到彙編代碼

右鍵,點擊Text View

2.查看彙編代碼.

這裏有代碼提醒功能,那麼我們要學會怎麼做,IDA是讀取.sig文件,然後顯示出來的.

那麼我們要學會怎麼做.

二丶製作.sig文件.讓IDA顯示.

製作.sig文件,我們依賴於一個VC自帶的工具,還有特徵提取工具.

1.VC 自帶的lib.exe

2.特徵提取工具pcf.exe

都會打包.

第一個,我們首先手動製作一個.sig文件.

1.熟悉什麼是特徵,以及特徵是什麼.

先熟悉一下特徵是什麼

首先上圖看到,我們已經顯示出來了system這個庫函數了,那麼是怎麼顯示的? IDA讀取sig文件,但是讀取sig文件也要有特徵匹配纔會顯示.

首先我們雙擊system,進去查看它的彙編,以及二進制代碼.

默認是沒有機器碼的,所以我們要顯示出來機器碼.

Options(選項) - > General(一般)

然後出來下圖

只需要在畫紅色方框的地方,寫入大小,則會顯示機器代碼多少

特徵就是固定的二進制代碼, 注意,是固定的二進制代碼,打死都不會變的.

比如上面的push ebp的機器代碼,是55

但是注意,偏移不是,比如最後的一個紅框後面的偏移,因爲這個受很多因素干擾.

2.使用lib.exe提取obj文件出來.

注意,因爲printf是屬於libc.lib中,所以直接把libc.lib的obj提取出來

這裏我的環境變量已經配置好了,可以直接使用CMD命令行了,注意,如果你沒有配置,請網上搜索配置的方法.

vc的lib.exe目錄所在文件.

vc98 -> bin ->lib.exe, 這裏給的是一部分,因爲我不知道你的vc在哪裏裝着,所以這個是不會變的.

而libc.lib所在的文件路徑,也是在vc98下面,只不過不是bin了,變成了lib了

首先lib工具的使用命令

1.遍歷lib中所有obj的文件

lib /list xxx.lib

2.lib.exe提取obj文件出來.

命令:

lib /extract: xxxxx.obj  lib文件名

比如上面隨便提取一個

lib /extract: build\inter\st_obj\xxxxx.obj  libc.lib

 

 3.使用pcf.exe(特徵提取工具)

這個工具要自己去下載.

官方網址: http://www.hex-rays.com/products/ida/support/ida/flair61.zip

需要用戶名和密碼

當然也會打包,只不過版本比較低.

首先,使用pcf文件,生成一個.obj文件的特徵碼.結尾是.pat

命令:

pcf xxxx.obj

查看特徵碼格式.

前邊都是機器碼,後面的2E 2E 2E 2E...代表的是偏移什麼的,反正就是做補充的.

比如機器碼

55

68 

FF 25 00 00 40 00

那麼寫到文件中就是55 68 FF 2E 2E 2E 2E 2E 2E 2E 2E 

其中兩個2E代表一個.

四丶生成.sig文件.

這個會用到sigmake的工具

命令  sigmake  xxxx.pat  xxxx.sig

舉例子:

sigmake printf.pat  printf.sig

那麼生成的文件就是printf.sig

只需要把這個文件拷貝到IDA目錄下的sig目錄下即可.然後使用IDA的時候我們需要簡單設置一下.

命令就是上面那個命令

製作完成之後拷貝到IDA的sig目錄下.

然後打開IDA, 快捷鍵Shift + F5  

出來下面的界面

那麼現在我們右鍵,添加我們的sig文件進去即可.這個時候我們的printf就可以顯示了.

添加進去

點擊OK即可.

此時我們的printf就已經顯示出來了.

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