此儲存庫包含 FireEye Labs 高階逆向工程 (FLARE) 團隊使用的 IDA Pro 腳本和外掛程式的集合。
若要安裝,請將此儲存庫中的外掛程式目錄的內容複製到 %PROGRAMFILES%IDAplugins 資料夾。
這裡的 python 目錄可以複製到您的 %PROGRAMFILES%IDApython 資料夾中,或者您可以修改 PYTHONPATH 環境變數以包含該目錄。
shellcode_hashes_search_plugin.py IDA 外掛程式實現了此處所述的雜湊搜尋:https://www.mandiant.com/blog/precalculated-string-hashes-reverse-engineering-shellcode/。
shellcode_hashes 目錄包含用於為 shellcode_hash_search.py 腳本建立資料庫的腳本以及提供的資料庫。
struct_typer_plugin.py 外掛程式實現此處所述的結構類型:https://www.mandiant.com/blog/applying-function-types-struction-fields-ida/
stackstrings_plugin.py 實現了此處描述的手動建構字串的復原:http://www.fireeye.com/blog/threat-research/2014/08/flare-ida-pro-script-series-automatic-recovery- of-惡意軟體中的建構字串.html
IDA Pro 的此腳本將 XML 檔案中的 MSDN 資訊新增至資料庫。有關此插件的資訊可以在以下位置找到:https://www.fireeye.com/blog/threat-research/2014/09/flare-ida-pro-script-series-msdn-annotations-ida-pro-for -malware -analysis.html
包含以下功能:
TL;DR:在 IDA 中執行annotate_IDB_MSDN.py 。
所有檔案(IDAPython 腳本、XML 解析器、MSDN 資訊 XML 檔案等)應位於 IDA Pro 可存取的相同目錄中。在 IDA 中使用檔案 - 腳本檔案... (ALT + F7) 開啟annotate_IDB_MSDN.py 。按一下「確定」後,該表單將允許您變更設定並註釋 IDB 檔案。
執行一次腳本後,也可以使用「檢視 - 最近的腳本」 (ALT + F9)。
該外掛程式可讓您指定或選擇間接呼叫的函數類型,如下所述:https://www.fireeye.com/blog/threat-research/2015/04/flare_ida_pro_script.html
該腳本可讓您輕鬆地從現有 IDB 資料庫產生函數模式,然後將其轉換為 FLIRT 簽名,以協助識別新檔案中的類似函數。更多資訊請見:https://www.fireeye.com/blog/threat-research/2015/01/flare_ida_pro_script.html
此實用程式可以幫助您識別程式中使用的函數的靜態參數。這最常用於提取字串解碼器函數的參數。範例用法可在
包含更多資訊的部落格文章位於:
https://www.fireeye.com/blog/threat-research/2015/11/flare_ida_pro_script.html
此腳本在選擇器參考及其實作之間建立交叉引用,如目標 Mach-O 執行檔的 Objective-C 執行時期相關部分所定義。它還修補選擇器引用指標以指向其實作函數。透過實現實現和整個程式碼中引用其選擇器的位置之間的平滑轉換,使得 Objective-C 程式碼的分析變得更加容易。有用的 Objective-C 程式碼註解被加入到對 objc_msgSend 變體的每次呼叫中,以清楚地指示正在哪個類別上呼叫哪個方法。
ironstrings.py
是一個 IDAPython 腳本,它使用程式碼模擬從惡意軟體中恢復建構的字串(堆疊字串)。請參閱腳本的自述文件中的詳細資訊。
code_grafter.py
是一個IDAPython 腳本,它將程式碼移植到IDA 資料庫以實現各種導入函數,並增加能夠完全在Bochs(或任何其他不為這些實現特殊處理的模擬工具)下執行解包器或解碼器的可能性。這可以防止模擬執行到達VirtualAlloc
或lstrlenA
等函數時發生錯誤。