每当看到 CTF 题目里那些眼花缭乱的汇编代码,是不是脑袋一热直接
alt+f4?
别急,时代变了——AI 已经可以替你逆向啦!
今天就来带你体验一下什么叫“真正的傻瓜式逆向”:只需安装几个工具,复制粘贴提示词,一步一步点下去,
看着 AI 在 IDA Pro 里翻江倒海,你只负责喝茶看输出。
逆向分析?交给 MCP!
- 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。
你也可以参考官方 README: https://github.com/mrexodia/ida-pro-mcp ,下面是我的步骤(等价于仓库里的教程)。
- 安装(或升级)IDA Pro MCP 包:
pip install –upgrade git+https://github.com/mrexodia/ida-pro-mcp - 配置 MCP 服务器并安装 IDA 插件:
GPT plus 代充 只需 145
ida-pro-mcp –install - 获取 MCP 服务端的配置文件:
ida-pro-mcp –config
- 复制上面输出的配置,打开 cursor,选择:设置 -> MCP -> 添加 MCP 服务端

然后粘贴配置并保存

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

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

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

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

GPT plus 代充 只需 145C3 82 A3 25 F6 4C 36 3B 59 CC C4 E9 F1 B5 32 18 B1 96 AE BF 08 35
- 用 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.当你找到解决方案时,请用你找到的密码向用户请求反馈
在使用过程中,模型可能会要求运行脚本并把脚本输出的密钥提交回它以继续分析——按提示做即可。






版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/242504.html