# GolangAnalyzerExtension Ghidra Go 分析扩展

> Ghidra 扩展，其 Golang Analyzer 读取 go1.6 至 go1.27 所编译 Go 二进制中的运行时头部和模块数据，用以识别 Go 版本、重命名函数、修正参数、以注释标出源文件与行号，把 Go 类型加入数据类型管理器，并标注 Go 字符串。插件窗口列出恢复出的函数、类型、源文件和字符串，并可链接到 Go 源码；另行安装 ghidra-wasm-plugin 等 Wasm 加载器后，也能处理 WebAssembly 构建。随附的脚本还会为解码 gobfuscate 式混淆字符串的函数重命名，并以注释写出解码后的文本。

- 类型：工具
- 目标：二进制
- 类别：原生分析工具
- 关联：基础工具
- 来源复核于：2026-10-20
- 收录于：2026-11-02
- 原始资源：<https://github.com/mooncat-greenpy/Ghidra_GolangAnalyzerExtension>
- 一手来源：<https://github.com/mooncat-greenpy/Ghidra_GolangAnalyzerExtension/blob/c0d1540f16409c8b0b202b10a005ce484f9e7705/README.md>
- 目录页面：<https://awesomerea.org/zh/resources/ghidra-golanganalyzerextension/>
- 记录 JSON：<https://awesomerea.org/resources/ghidra-golanganalyzerextension/record.json>
- 英文版：[English](https://awesomerea.org/resources/ghidra-golanganalyzerextension/index.md)

## 使用条件与局限

- 审阅时最新版本为 1.4.0，于 2026-07-21 由所审阅的 master 提交发布，发行说明称支持 go1.6 至 go1.27。它为 Ghidra 12.0 至 12.0.4 以及 12.1、12.1.2、12.1.3 和 12.1.4 提供预构建 zip，后两个构建于 2026-10-14；通过 File > Install Extensions 安装与 Ghidra 版本对应的 zip，再重启 Ghidra。从源码构建使用 Gradle，并将 GHIDRA_INSTALL_DIR 设为某个 Ghidra 安装目录。
- 分析对象是使用者自行提供的 Go 可执行文件，该分析器默认启用。源码包含 x86、ARM、PowerPC 和 RISC-V 的函数处理逻辑；WebAssembly 需另装 Wasm 加载器。函数反汇编默认关闭，可选的 PcHeader 地址和 Go 版本设置会覆盖自动检测结果。源码中虽有基于模式匹配和 BSim 的函数名推测，但其选项未注册，始终处于关闭状态。
- 仓库提交了生成的函数名推测数据：测试资源中一份 4.3 MB 的调用函数名列表，以及 scripts 下一个 53 KB 的 H2 BSim 数据库；配套脚本用所列的各个 Go 工具链编译一个小型示例 Go 程序，再以无界面方式运行 Ghidra 生成这些数据。在此提交中，src/main/resources 下的副本为空，仓库也未提交任何目标二进制。JUnit 测试覆盖版本、头部、字符串和名称数据的解析；仓库没有 CI 工作流。
- MIT 许可证位于 GolangAnalyzerExtension/LICENSE（2021 年，mooncat-greenpy），因不在仓库根目录，GitHub 未识别出许可证。输出是对 Ghidra 程序的标注，仍需分析人员核对，不会生成 Go 源码。

## 一手来源

1. <https://github.com/mooncat-greenpy/Ghidra_GolangAnalyzerExtension/blob/c0d1540f16409c8b0b202b10a005ce484f9e7705/README.md>
2. <https://github.com/mooncat-greenpy/Ghidra_GolangAnalyzerExtension/releases/tag/1.4.0>
3. <https://github.com/mooncat-greenpy/Ghidra_GolangAnalyzerExtension/blob/c0d1540f16409c8b0b202b10a005ce484f9e7705/GolangAnalyzerExtension/LICENSE>
4. <https://github.com/mooncat-greenpy/Ghidra_GolangAnalyzerExtension/blob/c0d1540f16409c8b0b202b10a005ce484f9e7705/GolangAnalyzerExtension/build.gradle>
5. <https://github.com/mooncat-greenpy/Ghidra_GolangAnalyzerExtension/blob/c0d1540f16409c8b0b202b10a005ce484f9e7705/GolangAnalyzerExtension/src/main/java/golanganalyzerextension/AnalyzerOption.java>
6. <https://github.com/mooncat-greenpy/Ghidra_GolangAnalyzerExtension/blob/c0d1540f16409c8b0b202b10a005ce484f9e7705/GolangAnalyzerExtension/src/main/java/golanganalyzerextension/GolangAnalyzerExtensionAnalyzer.java>
7. <https://github.com/mooncat-greenpy/Ghidra_GolangAnalyzerExtension/blob/c0d1540f16409c8b0b202b10a005ce484f9e7705/GolangAnalyzerExtension/src/main/java/golanganalyzerextension/function/GolangFunction.java>
8. <https://github.com/mooncat-greenpy/Ghidra_GolangAnalyzerExtension/blob/c0d1540f16409c8b0b202b10a005ce484f9e7705/GolangAnalyzerExtension/ghidra_scripts/degobfuscate.py>
9. <https://github.com/mooncat-greenpy/Ghidra_GolangAnalyzerExtension/blob/c0d1540f16409c8b0b202b10a005ce484f9e7705/scripts/extract.sh>
10. <https://github.com/mooncat-greenpy/Ghidra_GolangAnalyzerExtension/blob/c0d1540f16409c8b0b202b10a005ce484f9e7705/scripts/build/build.sh>

## 同分区更多条目：原生二进制

- [IDA iOS Helper iOS 逆向辅助插件](https://awesomerea.org/zh/resources/ida-ios-helper/index.md) · 工具
- [MAMBO 动态二进制修改框架](https://awesomerea.org/zh/resources/mambo/index.md) · 工具
- [Class Informer MSVC RTTI 类信息插件](https://awesomerea.org/zh/resources/class-informer/index.md) · 工具
- [Kam1n0 汇编代码克隆搜索平台](https://awesomerea.org/zh/resources/kam1n0/index.md) · 工具
- [iblessing iOS 应用与 Mach-O 分析工具集](https://awesomerea.org/zh/resources/iblessing/index.md) · 工具
- [SiMBA 线性 MBA 表达式化简工具](https://awesomerea.org/zh/resources/simba-mba-simplifier/index.md) · 工具

## 关于此条目

说明已依据一手来源复核。
原创说明采用 MIT 许可；外部项目、论文与素材保留各自的权利和许可。
