逆向知識第一講,IDA的熟悉使用


 

            逆向知識第一講,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就已經顯示出來了.

上面只是一個簡單的.生成一個,當然可以寫腳本生成很多個.

 

當然也有腳本,腳本使用方法.(.bat)

腳本名稱  libc

注意不是libc.lib

可以一鍵升成libc庫中的所有.sig

 課堂資料:  鏈接:http://pan.baidu.com/s/1boN2Zvx 密碼:rfag

作者:IBinary
出處:http://www.cnblogs.com/iBinary/
版權所有,歡迎保留原文鏈接進行轉載:)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM