產品介紹
交互式反匯編器專業版(Interactive Disassembler Professional),人們常稱其為IDA Pro,或簡稱為IDA。是最棒的一個靜態反編譯軟件,為眾多0day世界的成員和ShellCode安全分析人士不可缺少的利器!IDA Pro是一款交互式的,可編程的,可擴展的,多處理器的,交叉Windows或Linux WinCE MacOS平臺主機來分析程序, 被公認為最好的花錢可以買到的逆向工程利器。IDA Pro已經成為事實上的分析敵意代碼的標準并讓其自身迅速成為攻擊研究領域的重要工具。它支持數十種CPU指令集其中包括Intel x86,x64,MIPS,PowerPC,ARM,Z80,68000,c8051等等。
反盜版策略
IDA是Hex-Rays公司的旗艦產品。因此,他們對于未經授權就使用IDA的做法深惡痛絕。過去,該公司發現,盜版IDA的發布與公司銷售量的下滑有著直接的因果關系。為此,IDA的前發行公司DataRrscus甚至將盜版者的姓名張貼在他的“恥辱堂”(Hall of Shame)中。為打擊盜版,IDA采用了幾項反盜版技術,并實施了許可限制。
用戶需要了解的第一種技術是:每一份IDA都帶有水印,以將它與購買者一對一地對應起來。如果一份IDA出現在盜版軟件站中,Hex-Rays就能夠通過水印追蹤到購買者,并將其列入銷售黑名單。我們常常可以在Hex-Rays的IDA支持論壇上發現有關IDA 的“泄露”版本的討論。
為實施許可策略,IDA采用的另一種技術,是掃描在局域網中運行的其他IDA程序。例如,Windows版本的IDA啟動后,它會在端口23945上廣播一個UDP包,并等待響應,看相同子網中是否有其他使用相同許可證密鑰的IDA實例在運行。然后,IDA會將得到的響應數量與使用該許可證的用戶數量進行比較,如果發現網絡中存在過多的IDA實例,IDA會拒絕啟動,但是要注意,用戶可以在一臺計算機上使用相同的許可證運行多個IDA實例。
IDA實施許可策略的最后一種方法,是使用密鑰文件將每一名購買者與產品聯系起來。在啟動時,IDA會搜索一個有效的ida.key文件。如果無法定位有效地密鑰文件,IDA就會立即關閉。密鑰文件還用于用戶升級IDA的資格。基本上,ida.key文件就像是用戶的購買收據,要想在將來獲得升級資格,用戶必須保管好這個文件。
許可證
IDA有兩種許可證。一種是已命名許可證,與某一特定的用戶有關,可安裝到該用戶使用的任意多個計算機上。另一種是計算機許可證,與某一臺特定的計算機有關,任何使用該計算機的用戶都可以使用這種許可證,但一次只能允許一名用戶使用該許可證。注意,雖然已命名許可證可以讓你在任意多臺計算機上安裝IDA軟件,但是只有你才能運行這些IDA軟件。而且,對于單個許可證,在某一給定的時刻,IDA只能在其中一臺計算機上運行。
說明 與許多其他專有軟件的許可證不同,IDA的許可證特別賦予了用戶對IDA進行逆向工程的權利。
升級IDA
發布新版本的IDA后,Hex-RAYS通常會在IDA網站上公布升級鏈接和升級過程中的要求,該要求一般包括升級所適用的產品購買日期。一般情況下,在升級過程中,用戶必須向Hex-Rays提交ida.key文件。然后,Hex-Rays會驗證用戶的密鑰,并提供如何獲得升級版本的詳細信息。如果你發現你的IDA版本過低,沒有升級資格,請記得利用Hex-Rays向過期的用戶提供的折扣升級價格。
如果不小心丟失密鑰文件,未授權用戶可能會假冒你提出升級請求,導致你無法升級IDA.
最后,強烈建議在升級IDA時備份現有的IDA版本,或將升級版本安裝到一個完全不同的目錄,以避免丟失你修改的任何配置文件。為了恢復你之前所做的任何修改,你可能需要編輯升級版本中的相應文件。同樣,你還需要重新編譯或以替他形式獲得新版的IDA 定制插件。
用戶界面
IDA從MS-DOS繼承的特性仍然十分明顯。無論使用哪一種界面(文本界面或GUI),IDA都大量用到熱鍵。雖然這并非壞事,但是,如果你想當然地認為自己正使用文本輸入模式,并且發現幾乎每一次點擊都會導致相當意外的后果,那就說明IDA執行了某種熱鍵操作。例如,在使用GUI時,如果你定位光標以進行修改,并且希望你輸入的內容全部出現在光標位置,這是就可能會出現令人意外的情況(IDA可不像字處理程序)。
從數據輸入的角度看,IDA通過對話框接受所有輸入。因此,如果你希望在IDA中輸入任何數據,則必須調出輸入數據的對話框。
最后,需要記住的是:IDA不提供撤銷功能,因為你根本找不到。同樣,你也無法找到命令歷史記錄列表,以查明你剛剛執行的操作。
如果你是一名非Windows用戶,并且希望使用IDA的GUI界面,基本上,你有兩種選擇。Linux用戶可以考慮使用WINE。據稱,IDA可以在WINE下成功運行。就第二個選擇,使用主機操作系統只的虛擬軟件,在Windows虛擬機中運行IDA。無論采用哪一種選項,都需要運行IDA的Windows版本。因此,如果選擇使用IDA的內置調試器進行本地調試(下對于遠程調試),你只能調試Windows可執行文件。