飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 876|回复: 8

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

[复制链接]

该用户从未签到

发表于 5 天前 | 显示全部楼层 |阅读模式
本帖最后由 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 窗口提示 [MCP] 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 函数处理前
1.jpg
处理后:

2.jpg
PYG19周年生日快乐!
  • TA的每日心情
    开心
    2025-1-14 09:16
  • 签到天数: 432 天

    [LV.9]以坛为家II

    发表于 4 天前 | 显示全部楼层
    谢谢楼主分享
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2025-1-14 01:45
  • 签到天数: 118 天

    [LV.6]常住居民II

    发表于 4 天前 | 显示全部楼层
    多谢分享,很专业的软件
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2025-1-14 13:30
  • 签到天数: 2060 天

    [LV.Master]伴坛终老

    发表于 4 天前 | 显示全部楼层
    牛牛牛牛牛牛牛牛牛
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

     楼主| 发表于 4 天前 | 显示全部楼层
    我用几个月了,确实好用,只是废token
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2025-1-4 09:36
  • 签到天数: 100 天

    [LV.6]常住居民II

    发表于 前天 12:15 | 显示全部楼层
    多谢专业的软件
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2025-1-14 12:36
  • 签到天数: 758 天

    [LV.10]以坛为家III

    发表于 昨天 07:41 | 显示全部楼层
    凡人  再回天南
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2024-12-16 21:49
  • 签到天数: 470 天

    [LV.9]以坛为家II

    发表于 3 小时前 | 显示全部楼层
    专业的软件
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

    快速回复 返回顶部 返回列表