文章总结: 本文阐述利用AI与MCP协议赋能逆向工程的方法。文章简述MCP概念,详细讲解了IDAPro、Ghidra、x64dbg及WinDBG配置MCP插件的步骤,实现AI与工具联动。该方案统一了通信协议,显著提升分析效率,为安全人员提供了极具操作性的实战指南。 综合评分: 89 文章分类: 逆向分析,AI安全,安全工具,实战经验,二进制安全
【逆向】AI如何辅助逆向工程
原创
joe1sn joe1sn
不止Sec
2026年3月3日 14:01 重庆
工欲善其事必先利其器,大语言模型LLM快速发展的今天已经诞生了众多工具,从ChatGPT -> AutoGPT -> Agent -> MCP -> Skill,并且从众多CTF竞赛中已经体现出了AI的强大生产力。本篇文章将简述如何通过常用逆向工程软件,使用AI进行赋能。
Part I. 何为AI
AI本质上是一个方程式(很粗暴的讲法)
其中的 x 可以是一个向量,不仅仅是一个数字,其中 n 可以理解为ai模型参数的个数。通过样本的训练我们就可以得到数列 {a_i} 的值,这样输入后就能根据公式直接得到结果了。
大语言模型经常讲的多少多少的参数就是指有多少个 a 。例如DeepSeek R1满血版671 Billion个参数(6710亿)
MCP
模型上下文协议,2024年11月底,由 Anthropic 推出的一种开放标准,旨在统一大模型与外部数据源和工具之间的通信协议。有了这个即使模型不支持Function Call也可以进行工具的调用。所以需要一个MCP的客户端来进行服务端(你的应用)进行和大预言模型的信息传递
使用MCP
这个网站:https://www.pulsemcp.com/clients 搜集了MCP的客户端有哪些,我个人习惯使用5ire
更新过后需要重新添加一遍MCP工具
在服务商中写填写API-Key,我使用的是DeepSeek API,费用相对便宜,如果你能白嫖GPT4+的就更好了
我是用这个版本在24年年底测试过使用 LMStudio + 5ire 可以是想本地7B的 DeepSeek V3的MCP调用,就是很卡。所以我的5ire就没更新过版本。
在5ire的工具市场中可以找到很多
可能需要提前全局安装 python的uv或者java script的nodejs
编写MCP
借助他人编写的框架也不难,最简单的就是python编写的fastmcp
from fastmcp import FastMCPfrom datetime import datetimeimport platformimport time
# 创建 MCP 实例mcp = FastMCP("Local Time Service")
@mcp.tool()def get_local_time() -> dict: """ 获取当前计算机的本地时间信息 """ now = datetime.now()
return { "local_time": now.strftime("%Y-%m-%d %H:%M:%S"), "timestamp": int(now.timestamp()), "timezone": time.tzname, "system": platform.system(), "node": platform.node() }
if __name__ == "__main__": mcp.run()
Part II. 工具介绍
IDA Pro
MCP:https://github.com/mrexodia/ida-pro-mcp
由于插件使用到ida的api进行操作,所以得首先激活ida的python环境,具体的就是能运行ida python脚本就行。
然后使用idapyswitch.exe就可以切换ida使用的python版本了
idapyswitch.exe --force-path .\python313\python3.dll
按照README文件进行安装
pip uninstall ida-pro-mcp
pip install https://github.com/mrexodia/ida-pro-mcp/archive/refs/heads/main.zip
ida-pro-mcp --install
把C:\Users\xxx\AppData\Roaming\Hex-Rays\IDA Pro\plugins下面的ida_mcp和ida_mcp.py剪切到包含ida.exe文件夹下的plugins目录中
在5ire中配置如下:
python C:\Develop\Python\python3.14.2\Lib\site-packages\ida_pro_mcp\server.py --ida-rpc http://127.0.0.1:13337
使用时,打开ida,然后在Edit->Plugins->MCP打开
最后在5ire中提问即可
Ghidra
MCP:https://github.com/LaurieWired/GhidraMCP
Ghidra是美国国家安全局出品,完全开源的反汇编器。链接如下:
https://github.com/NationalSecurityAgency/ghidra
笔者最开始使用是当时ida对arm之类的异构指令集分析还不够充分,使用Ghidra对异构指令集的反编译要优于ida。(现在ida反而更好)
下载完成后点击ghidraRun.bat运行。Ghidra使用java编写,所以支持跨平台。使用时需要配置java环境,目前需要jdk21+
MCP插件安装也很简单,下载,解压出现GhidraMCP-1-4.zip,然后直接安装
重启程序,在已经打开文件的窗口,File -> Configure -> Developer开启
插件给出了对5ire的配置,README也包含Claude Desktop和Cline的配置方法。
python /ABSOLUTE_PATH_TO/bridge_mcp_ghidra.py
x64dbg
MCP:https://github.com/Wasdubya/x64dbgMCP
相比于初学使用的olldbg只支持32位程序,xdbg提供了更好的界面、反汇编架构,是逆向、调试软件的不二之选。同时也是开源的安全工具,地址如下:
https://github.com/x64dbg/x64dbg
软件安装就不多说了,下载MCP的压缩包,解压然后将插件放到<x64dbg_dir>/release/x64/plugins/里面(dp32是x32dbg的)
对于5ire的配置也很简单
WinDBG
MCP:https://github.com/svnscha/mcp-windbg
可以说是windows调试、逆向的最佳之选了吧,从软件到内核,而且是微软官方出品的调试器,历史悠久。关于安装方法如下:
https://learn.microsoft.com/zh-cn/windows-hardware/drivers/debugger/
安装MCP也只需要一条指令
pip install mcp-windbg
使用也很方便
python -m mcp_windbg
可能需要设置存储符号描述符的环境变量
{
"id": "ab168ec4-6efc-4513-b8cb-1f54b65c354a",
"lebel": "WinDBG-MCP",
"description": "-",
"type": "local",
"command": "python",
"arguments": [
"-m",
"mcp_windbg"
],
"env": {
"_NT_SYMBOL_PATH": "SRV*C:\\\$\Symbols$*https://msdl.microsoft.com/download/symbols"
},
"approval_policy": "always",
"is_active": true
}
不过这个调试器目前还是以调试dmp文件设计的
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:不止Sec joe1sn joe1sn《【逆向】AI如何辅助逆向工程》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。










评论