re-go

Installation
SKILL.md

Go 二进制逆向(符号 / 字符串表 / goroutine)

何时使用 / 何时不用

  • 用:确认是 Go 编译的二进制(file 输出 Go BuildID / 节表含 .gopclntab)后,利用 Go 默认保留符号的特性还原逻辑;识别 Go 版本与构建信息;分析多 goroutine 程序的控制流;恢复 strip 后的 Go 符号
  • 用:恶意 Go 样本([[re-malware]] 静态还原——Go 恶意程序多带明文 C2 配置与 buildinfo)
  • 不用:非 Go 原生程序(C/C++ 直接 [[re-binary-core]];Rust 走 [[re-rust]])
  • 不用:确认带壳先走 [[re-anti-analysis]](Go 二进制被加壳后 pclntab 偏移失效,脱壳后再回本技能)
  • 注意:动态步骤默认沙箱([[re-analyze/platform-tips]] 最高原则);Go 二进制体积大,静态优先(大型样本原则)

工具准备

参考 [[re-analyze/platform-tips]]——Go 二进制通常 1MB 起(runtime 占大头),遵循「静态优先(大型样本)」;动态(dlv/gdb 运行样本)默认进沙箱。

Go 工具链(go version / go tool buildid / go version -m)

Installs
50
GitHub Stars
193
First Seen
Aug 17, 2026