【免费下载链接】GhidrAssistMCPAn native MCP server extension for Ghidra项目地址https://gitcode.com/gh_mirrors/gh/GhidrAssistMCP点击查看免费下载GhidrAssistMCP 是一款 Ghidra 的原生 MCPModel Context Protocol服务端扩展它让 AI 助手能够直接调用 Ghidra 的反向工程能力内置 49 个分析工具与 7 个预设分析提示词。本文将带你用五分钟上手trace_data_flow数据流分析提示词自动追踪变量在函数中的来源、变换与去向让 AI 帮你完成以往需要逐行手工分析的工作。一、GhidrAssistMCP 是什么简单来说GhidrAssistMCP 在 Ghidra 内部启动了一个标准 MCP ServerAI 客户端通过 HTTP 连接进来后就可以像操作 Ghidra一样执行各种动作49 个内置工具反编译、函数检索、交叉引用、结构体管理、批量重命名等7 个 MCP Promptstrace_data_flow、identify_vulnerability、reverse_engineer_struct等常见逆向任务模板双 HTTP 传输同时支持 SSE 与 Streamable HTTP兼容主流 MCP 客户端多程序 / 多窗口支持单服务器共享所有 CodeBrowser 窗口自动感知当前聚焦的二进制官方文档目录位于 src/main/help/help/topics/ghidramcp/help.html完整工具清单可参考 README.md。二、前置准备安装并启动服务 ️开始前请确认你已具备Ghidra 11.4 或更高版本已测试 Ghidra 12.1一个 MCP 客户端例如 GhidrAssist已安装 GhidrAssistMCP 扩展并启用插件安装步骤以二进制发布版为例在 Releases 页面下载最新的.zip扩展包Ghidra 中执行File → Install Extensions → Add Extension选择下载的 ZIPFile → Configure → Configure Plugins搜索 GhidrAssistMCP 并勾选启用重启 Ghidra如果想从源码构建克隆仓库后使用 Gradle Wrapper 即可git clone https://gitcode.com/gh_mirrors/gh/GhidrAssistMCP cd GhidrAssistMCP export GHIDRA_INSTALL_DIR/path/to/ghidra_12.1_PUBLIC ./gradlew installExtension三、第一步打开控制台并启动 MCP Server在 Ghidra 菜单栏选择Window → GhidrAssistMCP打开控制面板Host默认localhostPort默认8080勾选Enable MCP Server并保存如上图所示Configuration 选项卡中可以查看所有 MCP 工具的名称与说明并逐个启用/禁用配置会跨会话持久保存。四、第二步MCP 客户端连接服务服务启动后MCP 客户端可连接到以下端点SSE: http://localhost:8080/sse SSE messages: http://localhost:8080/message Streamable HTTP: http://localhost:8080/mcp如果你的客户端连接不上可以用curl http://localhost:8080/sse快速验证服务是否在监听。五、第三步调用 trace_data_flow 提示词trace_data_flow是一个MCP Prompt而不是工具它的实现在 TraceDataFlowPrompt.java由 McpPromptRegistry.java 统一注册管理。它接受两个参数参数必填说明function_name✅要追踪的函数名称或地址如main或0x00401000variable❌指定要重点追踪的变量或参数名客户端调用方式如下prompts/get请求{ method: prompts/get, params: { name: trace_data_flow, arguments: { function_name: main, variable: buf } } }调用成功后AI 客户端会收到一份自动生成的数据流分析上下文其中包含目标函数的名称、地址与函数签名输入参数列表作为潜在数据源完整的反编译 C 代码30 秒超时内的自动反编译结果被调用函数列表作为潜在数据汇点接着 AI 会按照模板要求依次分析五个维度数据源Data Sources数据来自参数、全局变量、函数返回值还是内存读取变换Transformations算术运算、类型转换、字符串操作、编码解码数据汇点Data Sinks数据被写入哪个调用参数、内存位置或全局变量污点分析Taint Analysis用户可控数据的传播路径与净化点数据流图Data Flow Graph以变量/内存位置为节点、数据依赖为边的流图如果你指定了variable提示词还会附加一段针对该变量的专项追踪指令定义位置、参与的操作、使用位置与最终去向。六、第四步在 Log 面板核对执行过程 执行过程中切换到控制面板的Log选项卡可以实时看到每次请求REQ与响应RES、位置变更、重命名结果等日志数据流分析过程中如果 AI 客户端调用了get_code、xrefs等工具这里都会同步记录方便你核对它到底看了哪些函数。七、实战技巧与常见问题 函数名或地址都可以function_name同时支持名称精确匹配和十六进制地址两种写法配合工具链使用先用get_functions或search_functions_by_name定位可疑函数再交给trace_data_flow深挖耗时操作走异步反编译、结构分析等长耗时操作会转为异步任务可用get_task_status查询进度、list_tasks查看全部任务、cancel_task取消卡住的任务多程序场景同时打开多个二进制时可用list_binaries列出全部程序并在调用中通过program_name指定目标服务起不来检查 8080 端口是否被占用、扩展插件是否已启用无响应确认 Log 面板中能看到REQ/RES记录并核对客户端连接的端点是否正确八、相关源码导航想深入理解数据流分析的实现可以按以下路径阅读提示词实现src/main/java/ghidrassistmcp/prompts/TraceDataFlowPrompt.java提示词注册表src/main/java/ghidrassistmcp/prompts/McpPromptRegistry.java全部 7 个预设提示词src/main/java/ghidrassistmcp/prompts/异步任务管理src/main/java/ghidrassistmcp/tasks/无头模式启动脚本ghidra_scripts/GAMCPStartServerScript.java总结GhidrAssistMCP 把 Ghidra 的强大逆向能力通过 MCP 协议开放给了 AI 助手而trace_data_flow正是其中上手最快的数据流分析入口启动服务、连接客户端、调用提示词三步就能让 AI 帮你梳理出一条完整的数据从哪来、怎么变、到哪去的脉络。掌握它之后建议继续尝试identify_vulnerability与reverse_engineer_struct把 AI 逆向分析的威力发挥得更充分。赞分享【免费下载链接】GhidrAssistMCPAn native MCP server extension for Ghidra项目地址https://gitcode.com/gh_mirrors/gh/GhidrAssistMCP点击查看免费下载相关推荐Cherry Markdown快速开始五分钟上手教程Cherry Markdown快速开始五分钟上手教程 还在为寻找一款功能强大、易于使用的Markdown编辑器而烦恼吗Cherry Markdown作为腾讯前端富文本UI组件3分钟快速上手videocrPython视频字幕提取终极指南3分钟快速上手videocrPython视频字幕提取终极指南 你是否曾经面对一段包含硬编码字幕的视频却无法复制其中的文字内容无论是想为外语视频制作双语字幕图像处理视频处理重构移动平台Windows生态Winlator如何突破Android上的x86应用运行壁垒重构移动平台Windows生态Winlator如何突破Android上的x86应用运行壁垒 你是否想过在Android设备上无缝运行经典的Windows应用程虚拟化移动开发创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
阅读完成 · 觉得有帮助?