go-rust-reverse

Reverse engineers stripped Go and Rust binaries by recovering symbols, runtime metadata, and panic strings.

21|8|Updated Aug 3, 2026
One-click install
npx skills add https://github.com/chengzongcai/reverse-skill-backup --skill go-rust-reverse-chengzongcai
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: go-rust-reverse
Source: https://github.com/chengzongcai/reverse-skill-backup/tree/main/skills/go-rust-reverse
Command: npx skills add https://github.com/chengzongcai/reverse-skill-backup --skill go-rust-reverse-chengzongcai

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Stripped Go and Rust binaries lose function names and type information, making standard disassembly output nearly unreadable. This Skill provides a language-specific workflow to recognize Go/Rust runtime artifacts, recover symbols and metadata, and reach business logic faster instead of getting lost in runtime library code. ## Core Features & Use Cases - Go Metadata Recovery: Identify go.buildid, pclntab, and runtime symbol remnants, then restore function names with GoReSym, redress, or IDA/Ghidra Go plugins. - Rust Analysis Workflow: Drive analysis from panic strings, rust_begin_unwind, and crate path hints while handling generics code bloat and tokio async state machines. - Dynamic Analysis Support: Combine static recovery with Frida instrumentation and string-driven breakpoints for logging and configuration discovery. - Use Case: Given a stripped Go malware sample, use this Skill to confirm the compiler runtime, recover function names via GoReSym, and pivot into network and crypto library call sites for behavior analysis. ## Quick Start Analyze this stripped Go binary by recovering its symbols with GoReSym and mapping its network and crypto function calls.

Frequently Asked Questions about go-rust-reverse

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I reverse engineer a stripped Go binary?▼

Start by confirming Go runtime artifacts like go.buildid and pclntab, then use GoReSym or redress to recover function names and type metadata. Focus analysis on business logic rather than runtime library code, using string cross-references to locate network and crypto calls.

How to analyze Rust binaries with no symbols?▼

Drive Rust analysis from panic strings, rust_begin_unwind references, and embedded crate source paths. Locate string cross-references first to bypass generics-induced code bloat, and trace tokio async state machines through their cross-references.

What tools recover Go binary function names?▼

GoReSym and redress parse pclntab and module data to restore function names from stripped Go binaries. IDA and Ghidra Go plugins provide additional decompilation support, while radare2 and rabin2 handle quick string triage.

Can I use Frida on Go or Rust binaries?▼

Yes, Frida works for dynamic analysis of Go and Rust binaries, but Go's stack management and goroutine scheduling require care when setting hooks. Prefer string-driven breakpoints on logging and configuration code rather than runtime internals.

Why is decompiling Rust binaries harder than C binaries?▼

Rust generics cause monomorphized code bloat, duplicating logic across many function instances, and async code compiles into opaque state machines. String-driven analysis and panic handler references help locate meaningful logic amid the expanded code.