SuperAPI AI Directory

go-rust-reverse

Security & auditing

View repository

Updated 10-20 02:32

About this skill

Go / Rust Binary Reverse Engineering

When to Use

  • Analyzing a stripped Go or Rust binary where symbols are absent.
  • Recovering function boundaries and names from language-specific metadata.

Use cases

  • Stripped Go malware/tools
  • Rust release binaries, panic string-driven analysis
  • Language-specific methods complementary to generic ida/ghidra

Workflow

Go

□ 识别 go.buildid、runtime 符号残留、pclntab
□ GoReSym / redress / IDA Go 插件恢复函数名
□ 注意 interface、slice、string 结构在反编译中的形态
□ 网络/加密库路径:crypto/* net/http

Rust

□ panic 字符串、rust_begin_unwind、crate 路径暗示
□ 范型实例化导致的代码膨胀;先定位字符串 xref
□ 异步/tokio 状态机需结合交叉引用

Dynamic

□ 仍可用 Frida;注意 Go 栈与调度
□ 优先日志与配置字符串驱动断点

Toolchain

Tool Purpose
GoReSym Go metadata
IDA/Ghidra + Go/Rust plugins Decompilation
radare2 Quick strings
strings / rabin2 Triage

References

  • references/go-rust-notes.md
  • ../reverse-engineering/go-reverse.md ../ida-reverse/ ../ghidra-reverse/
  • seed: field-journal/seed-002_go-malware-stripped.md

Routing context

Upstream: MASTER R33
Downstream: malware sample flow malware-analysis; generic RE reverse-engineering

Task completion self-check

  • Are key function names or equivalent mappings recovered?
  • Is language runtime evidence annotated?
  • Checklist?

Limitations

  • New compiler versions change metadata layouts; tooling must be kept current.
  • Aggressive inlining still yields large, hard-to-read decompilation.

Adapted from zhaoxuya520/reverse-skill (MIT).