mcpField
G
go-rust-reverse

go-rust-reverse

github.com/zhaoxuya520Security43.7k1.2k installsUpdated 5w ago
Repository

About go-rust-reverse

A reverse-engineering skill for Go and Rust binaries, intended for malware analysis and examination of released executables. It uses runtime clues to recover symbols and metadata, then applies language-specific methods to investigate program logic.

Key features

  1. 01Identify Go and Rust runtime clues
  2. 02Recover Go symbols and metadata
  3. 03Use panic strings to locate Rust code
  4. 04Analyze async state machines and cross-references
  5. 05Combine Frida with dynamic analysis

Use cases

  1. 01Analyze stripped Go malware
  2. 02Inspect Rust release binaries
  3. 03Recover key function names or mappings
  4. 04Set breakpoints using logs and configuration strings

Install

Copy the command and run it in a terminal.

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

After installing, type/go-rust-reversein Claude Code to confirm it loaded.

Bundled filesreferences/go-rust-notes.md

Details

From the project README

Go / Rust Binary Reverse Engineering

ACTION REQUIRED(读完后立刻执行)

  1. NOW: 读取 ../field-journal/precedent-reverse.md
  2. NOW: 确认样本为 Go/Rust 编译产物(file/字符串/运行时特征)
  3. NEXT: GoReSym / 相关插件是否可用
  4. ACT: 运行时识别 → 符号/元数据恢复 → 业务逻辑

适用场景

  • 剥离符号的 Go 恶意软件/工具
  • Rust 发行二进制、panic 字符串驱动分析
  • 与通用 ida/ghidra 互补的语言专用方法

工作流

Go
□ 识别 go.buildid、runtime 符号残留、pclntab
□ GoReSym / redress / IDA Go 插件恢复函数名
□ 注意 interface、slice、string 结构在反编译中的形态
□ 网络/加密库路径:crypto/* net/http
Rust
□ panic 字符串、rust_begin_unwind、crate 路径暗示
□ 范型实例化导致的代码膨胀;先定位字符串 xref
□ 异步/tokio 状态机需结合交叉引用
动态
□ 仍可用 Frida;注意 Go 栈与调度
□ 优先日志与配置字符串驱动断点

工具链

工具用途
GoReSymGo 元数据
IDA/Ghidra + Go/Rust 插件反编译
radare2快速字符串
strings / rabin2分诊

参考

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

路由上下文

上游: MASTER R33
下游: 恶意样本流程 malware-analysis;通用 RE reverse-engineering

任务完成自检

  • 是否恢复关键函数名或等价映射?
  • 是否标注语言运行时证据?
  • Checklist?

Comments

Markdown supported