Ghidra逆向工程工具是一款由美國(guó)國(guó)家安全局開發(fā)的一款逆向工程套件,這款軟件可以幫你將可執(zhí)行文件分解為匯編代碼,以進(jìn)行分析。Ghidra逆向工程工具包含了一整套功能齊全的高級(jí)軟件分析工具,可以幫助廣大研究人員在各種常見系統(tǒng)平臺(tái)上進(jìn)行源代碼分析,其中包括Windows、macOS和Linux。
主要特色:
1、 提供了一整套軟件分析工具,可在各種系統(tǒng)平臺(tái)上進(jìn)行代碼分析,支持Windows、macOS和Linux;
2、 功能包括反匯編、匯編、反編譯、圖形化和腳本支持,以及數(shù)百個(gè)其他的高級(jí)功能;
3、 支持各種處理器指令集以及可執(zhí)行文件格式,可以在用戶交互或自動(dòng)化模式下運(yùn)行;
4、 用戶可以使用開放的API接口開發(fā)自己的Ghidra插件組件或腳本;
安裝注意:
Ghidra直接通過(guò)壓縮包解壓即可使用,這樣的好處就是可以不用修改各種系統(tǒng)配置,如Windows下的注冊(cè)表,便于刪除,壞處是不能直接在桌面上或開始菜單設(shè)置快捷方式。
特定盤符,如C:\需要Administrator權(quán)限。
Ghidra會(huì)使用系統(tǒng)標(biāo)準(zhǔn)的TEMP目錄來(lái)存儲(chǔ)相關(guān)數(shù)據(jù),用戶也可以通過(guò)修改support/launch.properties來(lái)進(jìn)行修改。
使用方法:
通過(guò)自帶BAT腳本啟動(dòng)GUI模式:
進(jìn)入之后,會(huì)有一個(gè)Tip提示,如下所示:
Ghidra是按項(xiàng)目進(jìn)行管理的,使用者需要首先創(chuàng)建一個(gè)項(xiàng)目:
輸入項(xiàng)目名:
項(xiàng)目創(chuàng)建完畢之后生成一個(gè)具體的目錄,注意項(xiàng)目文件刪除的時(shí)候似乎不能直接通過(guò)GUI刪除,需要手動(dòng)刪除:
創(chuàng)建好項(xiàng)目之后就可以導(dǎo)入需要反編譯的文件了:
如下所示我們反編譯測(cè)試了calc.exe計(jì)算器程序:
開始反編譯,速度相比于IDA還是慢了不少:
完成之后,項(xiàng)目文件下會(huì)創(chuàng)建對(duì)應(yīng)的項(xiàng)目,雙擊進(jìn)入:
進(jìn)入之后會(huì)提示是否進(jìn)行分析:
點(diǎn)擊確認(rèn)后,可以控制相應(yīng)的分析選項(xiàng):
開始分析之后,右下角會(huì)有相關(guān)的進(jìn)度條展示:
目前來(lái)看Ghidra是無(wú)法自動(dòng)下載符號(hào)的,需要對(duì)PDB相關(guān)配置進(jìn)行設(shè)置:
完成分析之后的整體界面如下所示,很有一股濃濃的JAVA風(fēng)范:
由于是基于項(xiàng)目的,因此Ghidra中可以同時(shí)打開多個(gè)反編譯的項(xiàng)目,只需要直接往項(xiàng)目中導(dǎo)入文件即可: