IDA使用之旅(一)用IDA查看最簡單的sys文件


使用的IDA軟件版本: IDA.pro.5.5 (參考下載地址: http://www.pc6.com/softview/SoftView_55231.html)

下載后得到IDA.pro.5.5dapro55.zip文件。

  

 

 

 

 

在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、准備要測試的驅動程序
編譯方法可參考我的文章:<<http://blog.csdn.net/chenyujing1234/article/details/7674104>>

之所以簡單,是因為只有一個文件sys.c,文件中只有兩個函數:

#include <ntddk.h>

VOID HelloDDKUnload (IN PDRIVER_OBJECT pDriverObject)
{
KdPrint(("Enter DriverUnload\n"));
KdPrint(("Leave DriverUnload\n"));
}



extern NTSTATUS DriverEntry (
IN PDRIVER_OBJECT pDriverObject,
IN PUNICODE_STRING pRegistryPath )
{
NTSTATUS status;
status=STATUS_SUCCESS;
KdPrint(("Enter DriverEntry\n"));
pDriverObject->DriverUnload = HelloDDKUnload;
KdPrint(("DriverEntry end\n"));
return status;
}

編譯后得到我們的目標文件: 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  保存后退出。
保存也有兩種方式,一種是壓縮,一種是不壓縮。

注意:在使用IDA過程中要經常保存,因為IDA常會崩潰,這樣會造成數據丟失。
————————————————
版權聲明:本文為CSDN博主「Jackchenyj」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/chenyujing1234/java/article/details/7766887


免責聲明!

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



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