IDA使用之旅(一)用IDA檢視最簡單的sys檔案

2022-09-02 15:36:15 字數 2265 閱讀 3900

在windows 下可以開發exe檔案,exe是不可逆向的,通過ida可以把應用程式逆向,並非不是完全逆向,因為exe已經把**優化了。

debug比release能更好逆向。

ida它支援多種檔案的反彙編,如exe 、sys、dll等。

一、ida軟體的安裝

1、安裝dia軟體

把ida.pro.5.5dapro55.zip解壓後得到,雙擊它安裝;

2、漢化

將ida.pro.5.5dapro55.zip解壓後得到的檔案

繼續解壓得到,將它拷貝到ids的安裝目錄下。

二、測試乙個最簡單的驅動程式

1、準備要測試的驅動程式

編譯方法可參考我的文章:<>

之所以簡單,是因為只有乙個檔案sys.c,檔案中只有兩個函式:

#include

void helloddkunload (in pdriver_object pdriverobject)

extern ntstatus driverentry (

in pdriver_object pdriverobject,

in punicode_string pregistrypath )

編譯後得到我們的目標檔案: sys.sys

2、反彙編實現

把sys.sys拖到ida程式裡。這裡要選擇載入的檔案型別:

第乙個是:pe檔案

第二個是:dos 可執行檔案

第三個是:二進位制檔案。(用於有時我們不知道它的檔案型別,eg:rom映象檔案)

這裡我們按預設的。(一般程式會幫我們自動選擇型別。)

全部按預設,點確定;接下來會提示是否載入pdb檔案,點yes。

此時在輸出視窗中顯示:

此時我們的結果出來了.

3、簡要分析

我們可以看到在ida view-a選項卡上會顯示三種顏色。

藍色: 表示是**段;

棕色: 表示是資料段;

紅色: 表示是核心;

3、1  **段

.sys檔案一般是從00010000開始的,而.exe一般是從00040000開始的,dll是從00070000開頭的。

在檢視的彙編**中,如果可以識別符號進步重新命名,之後與它有關的所有名字都會改變。

接下來我們來檢視函式driverentry

下圖表示:把_helloddkunload@4的**放入eax+34h的記憶體中。這樣當解除安裝時可以呼叫。

3、2  資料段

在資料段時若我們判斷是字串,那麼可以選擇以c風格來檢視。

得到的結果如下:

若要還原為unicode風格,則選擇

4、退出ida

4、1   退出時提示是否要儲存,我們選擇不儲存,且不存資料庫。

這樣我們資料夾中生成的四個檔案會被刪除:

id0:二叉樹資料庫

id1:檔案包含描述每個程式位元組的標記

nam:包含ida name視窗的資料庫

til:本地資料庫有關資訊

4、2  儲存後退出。

儲存也有兩種方式,一種是壓縮,一種是不壓縮。

DOM中cloneNode的使用之旅

struts2中可以自動封裝表單提交過來的引數 listexseasonout new arraylist 但是頁面中需要可以通過js動態新增行,實現 如下 看一下這行 的效果 newtr.innerhtml newtr.innerhtml.replace d g,tr.index img 結果td...

學習 IDA 使用

百科 互動式反彙編器專業版 interactive disassembler professional 人們常稱其為ida pro,或簡稱為ida。是目前最棒的乙個靜態反編譯軟體,為眾多0day世界的成員和shellcode安全分析人士不可缺少的利器!ida pro是一款互動式的,可程式設計的,可擴...

robotframework使用之一 udp測試

一,使用的lib如下 udplibrary.py 主要用於測試基於udp的16進製制協議的測試。socket的read是阻塞式的,使用robot自帶timeout來進行超時計算,重複測試的關鍵字 repeat keyword也是系統自帶的,詳見user guide 二.四個相關表 setting v...