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