本文介紹如何配置IDA Professional 9.1完全體實現AI自動化分析二進制文件,用於解決CTF競賽中Reverse與Pwn類型的題目。
增加功能
-
中文界面補丁
-
Lumina
-
MCP
環境配置
-
IDA Professional 9.1(已完成增加功能1和2部分操作的配置:https://pan.baidu.com/s/18dD5JBrSBIcyWI9o04G0_w?pwd=y4ex,解壓密碼:sunny)
-
Python 3.11(IDA自帶)
-
Git(可參考https://blog.csdn.net/2301_80035882/article/details/155000175)
-
Trae CN
後續步驟
Lumina配置
完成http://8.153.71.247:8000/lumina/,邀請碼可見http://8.153.71.247:8000/lumina/info.html中的第三點。
可參考http://8.153.71.247:8000/lumina/info.html,前面提供的壓縮包已經完成了二中的1和2,配置連接信息需要自行操作。
MCP配置
假設解壓後目錄為C:\IDA Professional 9.1,即ida.exe所在根目錄。
-
進入
C:\IDA Professional 9.1並打開終端: -
運行
idapyswitch.exe --force-path "C:\IDA Professional 9.1\python311\python3.dll"(這一步是為了強制IDA使用自己的python,而不是系統的python,防止出現兼容性問題)。 -
進入
C:\IDA Professional 9.1\python311目錄並打開終端(這一步是為了確保使用的是IDA自帶的python)。 -
運行
python.exe -m pip install --upgrade git+https://github.com/mrexodia/ida-pro-mcp(這一步是下載MCP服務端,如果連不上github可以試試後面換成https://gitee.com/beak/ida-pro-mcp。其中-m是為了使用IDA自帶的pip,而不是系統的pip)。 -
運行
"C:\IDA Professional 9.1\python311\Scripts\ida-pro-mcp.exe" --install(這一步是安裝MCP客户端): -
運行
"C:\IDA Professional 9.1\python311\Scripts\ida-pro-mcp.exe" --config(這一步是查看MCP的配置): -
複製[STDIO MCP CONFIGURATION]以下的內容(不包含[STDIO MCP CONFIGURATION])。
-
打開Trae CN,在設置中找到MCP,點擊添加-手動添加,將上一步複製的內容粘貼上去,點擊確認。
-
如遇命令空格截斷問題,需要在CMD(注意不能是PowerShell)中執行
dir /x "C:\",找到IDA Professional 9.1對應的短名稱,通常是類似IDAPRO~1.1這樣的格式,然後進行替換。 -
當需要使用MCP時,先正常打開
IDA Professional 9.1,打開需要分析的文件,然後點擊編輯-插件-MCP以啓動MCP服務器。
附提示詞:
你是一個專為 IDA Pro 設計的 AI 助手,通過 MCP 與用户的 IDA 實例進行交互。請遵循以下原則:
1. 專業性: 你精通 x86/x64, ARM, MIPS 等多種架構的彙編語言、C/C++ 代碼、程序結構、編譯器優化和惡意軟件分析技巧。
2. 主動性: 在用户提問時,不僅要回答問題,還應主動建議下一步有價值的分析方向或可使用的 MCP 工具。例如:“需要我幫你查看這個函數的交叉引用嗎?”或“是否要我將這個區域重新定義為數組?”
3. 上下文意識: 充分利用 MCP 工具獲取當前光標位置、函數、反編譯代碼等上下文信息,使你的回答更具針對性。
4. 安全性: 你只能通過提供的 MCP 工具與 IDA 交互。嚴禁輸出任何可能直接操作 IDA 數據庫的 Python 腳本或命令。所有修改操作(如重命名、註釋、定義數據)必須通過相應的工具調用完成。
5. 清晰性: 解釋你的推理過程。當識別出一個函數或結構時,簡要説明你的判斷依據(如特徵指令、字符串、系統調用等)。
核心能力:
- 靜態分析: 分析函數、控制流、數據結構、字符串和交叉引用。
- 動態調試: (若集成調試器)解釋執行軌跡、分析內存狀態。
- 腳本與自動化: 推薦或通過工具執行常見的分析任務。
- 知識整合: 識別常見庫函數、加密算法、惡意軟件家族特徵。
- 可視化輔助: 建議生成控制流圖 (CFG) 或導出數據以更好地理解代碼。
首先,友好地問候用户,並説明你可以通過 MCP 幫助他們進行哪些方面的 IDA 分析工作。
致謝參考
-
https://www.52pojie.cn/thread-2061709-1-1.html
-
https://www.52pojie.cn/thread-2048606-1-1.html
-
https://www.52pojie.cn/thread-2067141-1-1.html
-
@xia0ji233提供的私人Lumina服務器