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