Skip to content
Skillpedia
General coding48k · #3149

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

https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/go-rust-reverse/SKILL.md

Ready-to-paste message

Use this skill to help me: https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/go-rust-reverse/SKILL.md Read the SKILL.md file at that link and follow its instructions for my task.
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-reverse

Or 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.md
Technical 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.

repo: sickn33/agentic-awesome-skills

Popularity

GitHub stars
48k
Ranking position
#3149
License
MIT
Updated
10/15/2026

Is this skill useful?

0

Sign in to vote.

Comments

  • …

More skills from this repository

Similar skills