【MCP】IDA_Pro
“不会逆向?那是你还没遇到MCP。”
每当看到 CTF 题目里那些眼花缭乱的汇编代码,是不是脑袋一热直接
alt+f4?
别急,时代变了——AI 已经可以替你逆向啦!
今天就来带你体验一下什么叫“真正的傻瓜式逆向”:只需安装几个工具,复制粘贴提示词,一步一步点下去,
看着 AI 在 IDA Pro 里翻江倒海,你只负责喝茶看输出。
逆向分析?交给 MCP!
1. 环境准备
- IDA Pro(推荐 9 以上版本,本示例使用 9.1)
- mcp 客户端(本文以
cursor作为演示) - MCP 服务端(示例采用 https://github.com/mrexodia/ida-pro-mcp )
- Python 3.11 及以上(示例使用
python 3.11.9)
注:
ida_pro、cursor请自行准备(本教程不包含安装步骤),下面重点讲如何配置 MCP。
2. MCP 服务端快速安装与配置
你也可以参考官方 README: https://github.com/mrexodia/ida-pro-mcp ,下面是我的步骤(等价于仓库里的教程)。
- 安装(或升级)IDA Pro MCP 包:
pip install --upgrade git+https://github.com/mrexodia/ida-pro-mcp
- 配置 MCP 服务器并安装 IDA 插件:
ida-pro-mcp --install
- 获取 MCP 服务端的配置文件:
ida-pro-mcp --config

4. 复制上面输出的配置,打开 cursor,选择:设置 -> MCP -> 添加 MCP 服务端

然后粘贴配置并保存

保存后再次查看即可确认 MCP 服务端已配置成功。

5. 打开 IDAPro 的根目录,运行 idapyswitch.exe,选择一个 Python 3.11 或以上的解释器(示例使用 python 3.11.9)

6. 启动 IDA Pro,开启 MCP 服务端。下方显示 MCP 服务端开启后即表示 OK。

配置完成后,就可以使用 cursor 进行“傻子逆向”了。
3. 案例演示(示例题:re2)
- 题目来自 CTF 平台: https://ctf.show/challenges#re2-59
- 附件解压后得到:
勒索病毒.exe与enflag.txt。 - 分析思路:程序会把
flag.txt根据用户输入的密钥加密生成enflag.txt。题目只给了enflag.txt,目标是还原出flag.txt(即找出加密时使用的密钥或逆向出解密逻辑)。
被加密的 enflag.txt 的十六进制数据为(示例):

C3 82 A3 25 F6 4C 36 3B 59 CC C4 E9 F1 B5 32 18 B1 96 AE BF 08 35
4. AI 逆向流程(在 IDA + MCP + cursor 下)
- 用 IDA 打开
勒索病毒.exe,确保 MCP 服务端已开启,打开cursor。 - 在
cursor中选择要使用的模型(优先gemini2.5-pro 其次claude3.7,gpt是一坨) - 在
cursor中输入合适的提示词(Prompt),这一步极其重要:LLM 容易出现“幻觉”,尤其在整数与字节转换上更容易出错。
下面是提示词
您的任务是在 IDA Pro 中分析一个程序。程序的加密大致逻辑是,首先接受一个flag.txt,然后输入密码,完成加密并输出enflag.txt。 我现在有一个enflag.txt 他的16进制是 C3 82 A3 25 F6 4C 36 3B 59 CC C4 E9 F1 B5 32 18 B1 96 AE BF 08 35。请帮我进行逆向并解出对应的flag.txt
您可以使用 MCP 工具来检索信息。通常使用以下策略:
1.检查反编译结果并添加你的发现注释
2.将变量重命名为更合理的名称
3.如有必要,更改变量和参数类型(特别是指针和数组类型)
4.将函数名改为更具描述性的名称
5.如果需要更多信息,请反汇编函数并添加您的发现注释
6.千万不要自己转换数制。如有需要,请使用 convert_number MCP 工具!
7.不要尝试暴力破解,纯粹从反汇编和简单的 Python 脚本中推导解决方案
8.在最后创建一个 report.md 文件,记录你的发现和采取的步骤
9.当你找到解决方案时,请用你找到的密码向用户请求反馈
在使用过程中,模型可能会要求运行脚本并把脚本输出的密钥提交回它以继续分析——按提示做即可。
然后一路点ok即可。
中途可能会要求你运行脚本,然后将脚本运行结果得到的密钥提交给它
下面是解题过程(只是记录一下ai的思考过程,基本没有人工干预)
全程没有动IDA一下,纯靠AI 完成这道题

如果觉得有用的可以去给这个项目点点star https://github.com/mrexodia/ida-pro-mcp
如果您有更好的提示词,欢迎分享出来。