Ghidra Mcp Zig

Ghidra Mcp Zig

🚀 Ghidra MCP Zig 插件

Ghidra MCP Zig 插件是一个结合了 Ghidra 调试器和 Zig 编程语言的综合项目。该插件通过提供函数反编译、重命名等高级功能,显著增强了 Ghidra 的逆向工程和静态分析能力。

🚀 快速开始

启动 Ghidra 并打开待分析的程序,插件会出现在 Ghidra 的插件管理器中,通过 Ghidra 界面即可使用插件功能。

✨ 主要特性

  • JNI 桥接:实现 Zig 和 Java 之间的通信。
  • 分析逻辑:处理函数反编译和重命名等核心功能。
  • 服务器实现:提供远程命令执行接口。

📦 安装指南

安装依赖项

确保安装以下软件:

  • Zig 编程语言
  • Ghidra 调试器
  • JDK 17
  • CMake

CMakeLists.txt 中启用混合导出以兼容不同平台:

set(CMAKE_MIXED_EXPORTS TRUE)

安装步骤

  1. 编译插件:
    make build-plugin
    
  2. 将生成的插件复制到 Ghidra 的插件目录:
    cp zig-out/lib/libghidra-mcp-zig.dylib /path/to/ghidra/Extensions/Ghidra/ghidra-mcp-zig/
    
  3. 重启 Ghidra。

💻 使用示例

基础用法

插件提供了一系列可用命令,以下是部分命令示例:

  • 反编译函数decompile
  • 重命名函数rename_function
  • 重命名数据rename_data
  • 列出所有函数list_functions
  • 列出所有数据list_data
  • 列出导入list_imports
  • 列出导出list_exports

📚 详细文档

错误处理

插件提供了多种错误类型以帮助调试:

  • ConnectionError:连接相关问题。
  • MessageError:消息处理错误。
  • ResponseError:响应解析失败。

开发与调试

  1. 更新 JNI 桥接实现:
    src/plugin/jni/bridge.zig
    
  2. 实现相应功能:
    src/plugin/analysis.zig
    
  3. 如需更新服务器逻辑:
    src/server/main.zig
    

贡献指南

  1. Fork 该项目。
  2. 创建新功能分支。
  3. 提交更改。
  4. 推送到分支。
  5. 提交 Pull Request。

📄 许可证

项目遵循 MIT 许可证,详情请查看 LICENSE 文件。

  • 0 关注
  • 0 收藏,11 浏览
  • system 提出于 2025-09-29 20:24

相似服务问题