使用说明
项目简介
HopperMCP 是一个 Model Context Protocol (MCP) 服务器,专门为 Hopper Disassembler 反汇编器设计。它允许大型语言模型(LLM)客户端通过标准化的 MCP 协议与 Hopper Disassembler 交互,获取反汇编代码、添加注释等,从而实现基于 LLM 的自动化逆向工程和代码分析工作流。
主要功能点
- 读取反汇编/伪代码: 允许 LLM 获取 Hopper Disassembler 中当前或指定地址、名称的反汇编代码或伪代码。
- 添加注释: 支持 LLM 向 Hopper Disassembler 中的代码添加普通注释和行内注释。
- 作为 MCP 服务器: 遵循 MCP 协议,提供标准的 JSON-RPC 接口,方便 LLM 客户端集成。
- 插件式集成: 通过 Hopper Disassembler 的插件机制运行,与 Hopper 深度集成。
安装步骤
- 移动 HopperMCP.app: 将 'HopperMCP.app' 移动到你的“应用程序”文件夹。
- 安装 Helper 程序: 运行 'HopperMCP.app',在主界面选择“安装 Helper 程序”(选项 1),此步骤需要管理员密码。Helper 程序用于辅助代码注入。
- 安装插件: 在 'HopperMCP.app' 主界面选择“安装插件”(选项 2),将插件安装到指定的 Hopper 插件目录。
- 启动 HopperMCP: 在后台运行 'HopperMCP.app'。建议在启动 Hopper Disassembler 之前先启动 'HopperMCP.app'。'HopperMCP.app' 会自动检测 Hopper Disassembler 的启动并注入代码。
- 启动 MCP 插件服务: 在 Hopper Disassembler 启动约 3 秒后,菜单栏会出现 "Tool Plugin" 菜单。点击 "Tool Plugin" -> "Start MCP Plugin" 启动 MCP 插件服务。
- 加载文档通知: 由于 Hopper 插件无法自动检测文档加载完成,当 Hopper Disassembler 完成文档加载后,需要手动点击 "Tool Plugin" -> "Notify Document Loaded" 通知插件,以便插件进行缓存等初始化操作。
服务器配置
MCP 客户端需要配置以下 JSON 信息以连接 HopperMCP 服务器。此配置信息可以从 'HopperMCP.app' 主界面通过 "Copy the 'Hopper MCP Server' JSON"(选项 3) 复制获得。
{ "serverName": "HopperMCP", // 服务器名称,用于标识 "command": "stdio", // 通信方式,HopperMCP 使用标准输入输出 (stdio) "args": [] // 启动参数,stdio 方式通常无需参数 }
配置说明:
- 'serverName': 服务器的名称,客户端用以识别连接的服务,这里固定为 "HopperMCP"。
- 'command': 指定 MCP 服务器的通信方式。HopperMCP 使用 'stdio',表示通过标准输入和标准输出流进行通信。
- 'args': 启动参数列表。对于 'stdio' 通信方式,通常不需要额外的启动参数,因此为空数组 '[]'。
重要提示: 由于 Hopper Disassembler 的限制和 HopperMCP 的实现方式,使用 HopperMCP 必须禁用 SIP (System Integrity Protection)。并且,HopperMCP 依赖于代码注入和 Hopper Disassembler 的私有接口,未来版本可能存在兼容性问题。
基本使用方法
- 确保 HopperMCP 服务器已启动,并且 Hopper Disassembler 中 MCP 插件服务已启动。
- 将上述服务器配置 JSON 粘贴到你的 MCP 客户端配置中。
- 在 MCP 客户端中,你可以使用预定义的工具(例如 'get current assembly/pseudocode', 'add comment' 等)与 HopperMCP 服务器交互,从而控制 Hopper Disassembler 并获取反汇编信息。
- 具体工具的使用方法和参数,请参考 HopperMCP 项目的详细文档或 MCP 客户端的工具调用说明。
信息
分类
开发者工具