qqycra 发表于 6 天前

ida pro mcp 强大的 IDA MCP 插件,AI 助力逆向分析

本帖最后由 qqycra 于 2025-5-26 19:48 编辑


用 IDA Pro MCP + AI 打造智能逆向工作流。真是强大啊,AI 改变世界。
MCP 现在太火了,紧跟潮流,坛友发了GhidraMCP贴,我来发 IDA MCP 贴。

ida-pro-mcp 可用功能:check_connection:检查IDA插件是否正在运行。
get_metadata():获取有关当前 IDB 的元数据。
get_function_by_name(name):通过函数名称获取函数。
get_function_by_address(address):通过地址获取函数。
get_current_address():获取用户当前选择的地址。
get_current_function():获取用户当前选择的功能。
convert_number(text, size):将数字(十进制、十六进制)转换为不同的表示形式。
list_functions(offset, count):列出数据库中的所有函数(分页)。
list_strings(offset, count):列出数据库中的所有字符串(分页)。
search_strings(pattern, offset, count):搜索包含给定模式的字符串(不区分大小写)。
decompile_function(address):反编译给定地址的函数。
disassemble_function(start_address):获取函数的汇编代码(地址:指令;注释)。
get_xrefs_to(address):获取给定地址的所有交叉引用。
get_entry_points():获取数据库中的所有入口点。
set_comment(address, comment):为函数反汇编和伪代码中给定的地址设置注释。
rename_local_variable(function_address, old_name, new_name):重命名函数中的局部变量。
rename_global_variable(old_name, new_name):重命名全局变量。
set_global_variable_type(variable_name, new_type):设置全局变量的类型。
rename_function(function_address, new_name):重命名函数。
set_function_prototype(function_address, prototype):设置函数的原型。
declare_c_type(c_declaration):从 C 声明创建或更新本地类型。
set_local_variable_type(function_address, variable_name, new_type):设置局部变量的类型。


使用先决条件:
Python (3.11 or higher)
      Use idapyswitch to switch to the newest Python version
IDA Pro (8.3 or higher, 9 recommended)
Supported MCP Client (pick one you like)
      Cline
      Roo Code
      Claude:

安装使用过程,使用 vs code 插件 cline

1、下载安装ida-pro-mcp
pip install --upgrade git+https://github.com/mrexodia/ida-pro-mcp
ida-pro-mcp --install

2、vs code 市场安装 cline 后点击 cline 图标然后点击小齿轮选deepseek并填写 api key
https://marketplace.visualstudio ... udrizwan.claude-dev
https://code.visualstudio.com/docs/?dv=win64user

3、点小书架,再点 installed,里面应该有 github.com/mrexodia/ida-pro-mcp 这个 mcp server
   IDA里点 Edit ---> Plugins ---> MCP,此时在 output 窗口提示 Server started at http://localhost:13337

4、勾选 Auto-approve 左边方框,再点后面大于号,勾选 use mcp servers

5、然后输入提示词
      你的任务是使用 IDA Pro 分析一个文件。你可以使用 MCP 工具来检索信息。一般来说,使用以下策略:
      检查反编译并添加注释以说明您的发现
      将变量重命名为更合理的名称
      如有必要,更改变量和参数类型(尤其是指针和数组类型)
      更改函数名称,使其更具描述性
      如果需要更多详细信息,请拆解该函数并添加注释和您的发现
      切勿自行转换进制。如有需要,请使用 convert_number MCP 工具!
      不要尝试暴力破解,任何解决方案都只能通过反汇编和简单的 Python 脚本来获得。
      创建一份 report.md,其中包含你的发现和最后采取的步骤
      当你找到解决方案时,提示用户使用你找到的密码进行反馈


6、分析函数,修改变量名,修改函数名,添加注释,看你的要求了。
效果图的tokens花了我几块钱,希望大家给点热心温暖我一下。


效果展示:
sub_5c54c4 函数处理前

处理后:


ynb168c 发表于 5 天前

谢谢楼主分享

ZHANGXIANGHUA 发表于 5 天前

多谢分享,很专业的软件

lvzhi_123 发表于 5 天前

牛牛牛牛牛牛牛牛牛

qqycra 发表于 5 天前

我用几个月了,确实好用,只是废token

ynb168c 发表于 4 天前


多谢分享

yunkaixin 发表于 3 天前

多谢专业的软件

zwh8698 发表于 前天 07:41

凡人再回天南

A00 发表于 昨天 20:15

专业的软件
页: [1]
查看完整版本: ida pro mcp 强大的 IDA MCP 插件,AI 助力逆向分析