go-rust-reverse
Lets your agent analyze and understand programs written in Go and Rust. It's useful for investigating software without source code.
What it does
This tool helps understand Go and Rust programs that have been 'stripped' (had information removed), by recovering important details like function names and how the program works internally. It's useful when you don't have the original source code.
When to use it
- ✓When you have a stripped Go or Rust program and want to figure out what it does.
- ✓To recover function names and understand the structure of Go or Rust programs.
- ✓To complement other program analysis tools.
Example of what to ask your AI
“Analyze this stripped Go binary and tell me what the main functions are.”
Want more? Open the sections below.
How to use
The easiest way: copy the message below and paste it into Claude, ChatGPT, Cursor or any AI. It reads the skill and follows the instructions.
Skill link
Ready-to-paste message
How it works
It examines the remaining information within the program, such as Go and Rust-specific metadata, to reconstruct parts of the original structure. This includes identifying where functions begin and end, and even recovering names.
Installation
Easiest way: copy the skill link and paste it into Claude, ChatGPT or Cursor asking it to follow the instructions.
In the terminal (Claude Code, Codex, Cursor), in your project folder:
npx skills add sickn33/agentic-awesome-skills --skill go-rust-reverseOr download just the file:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/go-rust-reverse/SKILL.md -o SKILL.mdTechnical content (original SKILL.md)
Original text by the author, straight from GitHub.
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.
适用场景
- 剥离符号的 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 栈与调度
□ 优先日志与配置字符串驱动断点
工具链
| 工具 | 用途 |
|---|---|
| GoReSym | Go 元数据 |
| 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?
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).
FAQ
What does 'stripped' mean?
'Stripped' means that debugging information and function names have been removed from the program to make it smaller or harder to analyze. This tool attempts to recover some of that information.
Why is it hard to analyze Go and Rust programs?
These languages have complex ways of organizing code, and when extra information is removed ('stripped'), it becomes difficult for common tools to understand the structure and function names.
Does this tool replace other tools like IDA or Ghidra?
No, it complements them. It uses specific methods for Go and Rust that can be more effective than generic tools in certain situations.
Details
Original description by the author
Reverse engineer stripped Go and Rust binaries: runtime recognition, pclntab/module metadata recovery, panic-string analysis, and idiomatic decompilation strategies.
Popularity
- GitHub stars
- 48k
- Ranking position
- #3149
- License
- MIT
- Updated
- 10/15/2026
Comments
- …
More skills from this repository
00-andruia-consultant
Helps your agent start or improve AI projects. It analyzes code, suggests tools, and creates action plans in Spanish.
sickn33/agentic-awesome-skills
007
Lets your agent perform security audits and threat modeling. It's useful for protecting projects against attacks and vulnerabilities.
sickn33/agentic-awesome-skills
10-andruia-skill-smith
Helps your agent create or improve AI tools. It defines how tools work, writes documentation, and validates the structure.
sickn33/agentic-awesome-skills
20-andruia-niche-intelligence
Lets your agent create a summary about a specific industry. It's useful for understanding the context, rules, usage patterns, and risks of a project, using reliable sources.
sickn33/agentic-awesome-skills
Similar skills
benchmark-optimization-loop
Has your agent improve something's speed in a measured way. It tests multiple versions and chooses the fastest one that still works correctly.
affaan-m/ECC
change-impact
Helps your agent analyze the impact of code changes before making them. It compares the planned vs. actual results afterward, covering paths, data, tests, and documentation. Useful for risky or system-wide changes.
affaan-m/ECC
click-path-audit
Lets your agent trace all user buttons and interactions to find bugs. It finds issues where functions seem to work alone but fail together. Useful when bugs persist even after debugging.
affaan-m/ECC