详细介绍
IDA Pro MCP 是一个专为逆向工程设计的服务器插件,通过 Model Context Protocol(MCP)协议与客户端工具进行交互,实现自动化分析、注释修改、变量重命名等功能。该工具支持多种 MCP 客户端,如 Cline、Roo Code 等,适用于需要高效处理逆向工程任务的研究人员和技术人员。
核心功能
IDA Pro MCP 提供了丰富的功能,支持多种逆向工程操作,包括但不限于:
- 检查连接:验证服务器是否正常运行。
- 获取元数据:提取当前 IDB 文件的元数据。
- 通过名称或地址获取函数:根据函数名称或地址检索函数信息。
- 反编译与反汇编函数:将函数反编译为伪代码或反汇编为汇编指令。
- 设置注释:为指定地址添加注释。
- 重命名变量和函数:修改局部或全局变量名称,或更改函数名称。
安装方法
安装 IDA Pro MCP 服务器需要 Python 和 IDA Pro 的支持。以下是安装步骤:
pip install --upgrade git+https://github.com/mrexodia/ida-pro-mcp安装完成后,运行以下命令以配置 IDA Pro 插件:
ida-pro-mcp --install确保 IDA Pro 已启动,并加载目标文件以完成服务器配置。
使用方法
IDA Pro MCP 服务器支持多种 MCP 客户端,如 Cline、Roo Code 等。安装并配置好服务器后,可以通过客户端连接到 IDA Pro 并执行各种逆向工程任务。
check_connection()该命令用于测试服务器连接是否正常。
decompile_function(0x1000)该命令用于反编译指定地址的函数。
rename_variable(0x1000, 'old_name', 'new_name')该命令用于重命名局部变量。
使用场景
IDA Pro MCP 服务器适用于需要自动化逆向工程任务的研究人员和技术人员,特别是那些希望利用大型语言模型(LLM)进行复杂分析的用户。
- 分析简单程序:通过服务器提取关键信息并生成报告。
- 解决密码验证逻辑:定位密码验证逻辑并推导出密码。
技术细节
IDA Pro MCP 服务器的架构设计使得添加新功能变得简单高效。只需在 mcp-plugin.py 中添加一个新的 @jsonrpc 函数,即可使新功能在 MCP 服务器中可用,而无需其他样板代码。
uv run mcp dev src/ida_pro_mcp/server.py该命令用于启动开发服务器,您可以通过 http://localhost:5173 与 MCP 工具进行交互。
此外,您还可以通过以下命令生成变更日志:
git log --first-parent --no-merges 1.2.0..main "--pretty=- %s"总结
IDA Pro MCP 通过 MCP 协议实现了与客户端工具的高效交互,为逆向工程任务提供了自动化和便捷的解决方案。无论是函数分析、注释修改,还是变量重命名,该工具都能显著提升工作效率。