公众号:https://mp.weixin.qq.com/s/HuZfvvlZbM5ImOR_IoB0fw

工欲善其事必先利其器,大预言模型LLM快速发展的今天已经诞生了众多工具,从ChatGPT -> AutoGPT -> Agent -> MCP -> Skill,并且从众多CTF竞赛中已经体现出了AI的强大生产力。本篇文章将简述如何通过常用逆向工程软件,使用AI进行赋能。

或许我们的公众号会有更多你感兴趣的内容

img

Part I. 何为AI

AI本质上是一个方程式(很粗暴的讲法

f(x)=a0+a1x+a2x2+...+anxn=i=0naixif(x) = a_0+a_1x+a_2x^2+...+a_nx^n = \sum_{i=0}^{n} a_ix^i

其中的 xx 可以是一个向量,不仅仅是一个数字,其中 nn 可以理解为ai模型参数的个数。通过样本的训练我们就可以得到数列 ai{a_i} 的值,这样输入后就能根据公式直接得到结果了。

大语言模型经常讲的多少多少的参数就是指有多少个 aa 。例如DeepSeek R1满血版671 Billion个参数(6710亿)

MCP

模型上下文协议,2024年11月底,由 Anthropic 推出的一种开放标准,旨在统一大模型与外部数据源和工具之间的通信协议。有了这个即使模型不支持Function Call也可以进行工具的调用。所以需要一个MCP的客户端来进行服务端(你的应用)进行和大预言模型的信息传递

image-20260301150007190

使用MCP

这个网站:https://www.pulsemcp.com/clients 搜集了MCP的客户端有哪些,我个人习惯使用5ire

image-20260301150120325

更新过后需要重新添加一遍MCP工具

image-20260301150343580

在服务商中写填写API-Key,我使用的是DeepSeek API,费用相对便宜,如果你能白嫖GPT4+的就更好了

image-20260301150423648

image-20260301150539080

我是用这个版本在24年年底测试过使用 LMStudio + 5ire 可以是想本地7B的 DeepSeek V3的MCP调用,就是很卡。所以我的5ire就没更新过版本。

5ire的工具市场中可以找到很多

image-20260301150746206

image-20260301151048411

可能需要提前全局安装 python的uv或者java script的nodejs

image-20260301151219069

image-20260301151808290

编写MCP

借助他人编写的框架也不难,最简单的就是python编写的fastmcp

from fastmcp import FastMCP
from datetime import datetime
import platform
import 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()

image-20260301153300035

image-20260301153235613

Part II. 工具介绍

IDA Pro

MCP:https://github.com/mrexodia/ida-pro-mcp

由于插件使用到ida的api进行操作,所以得首先激活ida的python环境,具体的就是能运行ida python脚本就行。

image-20260302100653964

然后使用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_mcpida_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

image-20260302112453604

使用时,打开ida,然后在Edit->Plugins->MCP打开

image-20260302112558853

image-20260302112614624

最后在5ire中提问即可

image-20260302112659716

Ghidra

MCP:https://github.com/LaurieWired/GhidraMCP

Ghidra是美国国家安全局出品,完全开源的反汇编器。链接如下:

https://github.com/NationalSecurityAgency/ghidra

笔者最开始使用是当时idaarm之类的异构指令集分析还不够充分,使用Ghidra对异构指令集的反编译要优于ida。(现在ida反而更好)

下载完成后点击ghidraRun.bat运行。Ghidra使用java编写,所以支持跨平台。使用时需要配置java环境,目前需要jdk21+

image-20260303090139848

MCP插件安装也很简单,下载,解压出现GhidraMCP-1-4.zip,然后直接安装

image-20260303090744152

image-20260303090939101

重启程序,在已经打开文件的窗口,File -> Configure -> Developer开启

image-20260303091604614

image-20260303091724346

插件给出了对5ire的配置,README也包含Claude DesktopCline的配置方法。

python /ABSOLUTE_PATH_TO/bridge_mcp_ghidra.py

image-20260303093217146

image-20260303091935659

x64dbg

MCP:https://github.com/Wasdubya/x64dbgMCP

相比于初学使用的olldbg只支持32位程序,xdbg提供了更好的界面、反汇编架构,是逆向、调试软件的不二之选。同时也是开源的安全工具,地址如下:

https://github.com/x64dbg/x64dbg

软件安装就不多说了,下载MCP的压缩包,解压然后将插件放到<x64dbg_dir>/release/x64/plugins/里面(dp32是x32dbg的)

对于5ire的配置也很简单

image-20260303093246038

image-20260303093002843

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文件设计的

image-20260303094514877

GDB

MCP:https://github.com/cnitlrt/pygdbmi-mcp-server

就是几个常见步骤

git clone https://github.com/cnitlrt/pygdbmi-mcp-server
cd pygdbmi-mcp-server
#进行配置
uv pip install -e .

如果使用5ire的话,需要先启动插件

uv run pygdbmi-mcp-server --transport streamable-http

然后再5ire设置远程

http://127.0.0.1:1111/mcp

image-20260303134946403