mcpField
G
ghidra-reverse

ghidra-reverse

github.com/zhaoxuya520安全43.7k1.4k 次安装5 周前更新
代码仓库

关于 ghidra-reverse

使用 Ghidra 进行二进制逆向的 skill,适用于开源工作流、批量分析以及没有 IDA 许可证的场景。内容涵盖交互式反编译、无界面自动化和可选的 MCP 辅助分析。

主要功能

  1. 01导入并自动分析二进制文件
  2. 02通过字符串和导入 API 定位函数
  3. 03反编译并标注关键函数
  4. 04使用无界面 Ghidra 自动批量分析
  5. 05配置后通过 ghidra-mcp 连接

适用场景

  1. 01在没有 IDA 许可证时分析二进制文件
  2. 02在 CI 或批处理任务中运行反编译
  3. 03检查关键函数及交叉引用

MCP 相关

配置 ghidra-mcp 后,MCP 客户端可获取反编译内容和交叉引用信息。该 skill 要求先核实端口和工具路径,而不是自行假定。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/zhaoxuya520/reverse-skill --skill ghidra-reverse

安装后在 Claude Code 中输入/ghidra-reverse确认已加载。

附带文件references/ghidra-cheatsheet.md

详细介绍

来自项目 README

Ghidra Reverse Engineering

ACTION REQUIRED(读完后立刻执行)

  1. NOW: 读取 ../field-journal/precedent-reverse.md
  2. NOW: 确认需要 Ghidra(无 IDA / 偏好开源 / 批量 headless)
  3. NEXT: 读 ../tool-index.md 查 ghidra / ghidra-mcp 路径
  4. NEXT: 缺工具 → bootstrap ghidra-mcp(若 manifest 支持)或按手动步骤装 Ghidra
  5. ACT: 导入样本 → 自动分析 → 导出关键函数反编译

适用场景

  • 无 IDA 许可证时的主逆向入口
  • 批量 headless 分析 / CI 中反编译
  • Ghidra 脚本(Java/Python Jython/PyGhidra)自动化
  • 与 binary-diff / patch-diff-exploit 的 ghidriff 联动

与 IDA 分工

需求优先
已有 IDA MCP 深挖ida-reverse/
开源 / 批量 / 教学本 skill
仅 CLI 快速侦察radare2/

工作流

1. 项目与自动分析
□ 新建 Project → Import 文件 → Analyze(默认分析器)
□ 记录语言/编译器识别结果与基址
□ 标记入口、导出表、字符串 xref
2. 关键函数
□ 从字符串 / 导入 API 反查
□ Decompile 窗口还原算法
□ 重命名函数/变量;写 Plate comment
□ 需要动态时交接 Frida/GDB(reverse-engineering 动态章)
3. Headless(批量)
# 示例:analyzeHeadless 路径因安装而异,MUST 从 tool-index 取
analyzeHeadless /path/to/project Proj -import sample.bin -postScript ExportDecomp.py
4. MCP(若已配置)
□ 确认 ghidra MCP 端口(常见 8765,以 tool-index 为准)
□ 用 MCP 工具拉反编译 / xrefs,禁止猜端口

工具链

工具用途自举
Ghidra反编译主工具手动 release / 包管理器
ghidra-mcpAI 桥bootstrap 能力名 ghidra-mcp
ghidriff补丁差分见 patch-diff-exploit

参考

  • references/ghidra-cheatsheet.md
  • ../ida-reverse/ ../radare2/ ../binary-diff/

路由上下文

上游: MASTER R22
下游: 动态验证 → Frida/GDB;利用 → pwn-chain
同级: ida-reverse(商业深挖)

任务完成自检

  • 是否基于真实 Ghidra/tool-index 路径?
  • 是否标注函数地址与重命名?
  • 是否有可复现步骤?
  • Checklist / journal?

评论

支持 Markdown