Pular para o conteúdo
Skillpedia
Código em geral48 mil · #3149

go-rust-reverse

Permite que seu agente analise e entenda programas escritos em Go e Rust. É útil para investigar softwares sem código-fonte.

O que ela faz

Esta ferramenta ajuda a entender programas feitos em Go e Rust que foram 'simplificados' (stripped), recuperando informações importantes como nomes de funções e detalhes sobre como o programa funciona internamente. É útil quando você não tem o código original.

Quando usar

  • ✓Quando você tem um programa Go ou Rust sem informações visíveis (stripped) e quer descobrir o que ele faz.
  • ✓Para recuperar nomes de funções e entender a estrutura de programas Go ou Rust.
  • ✓Para complementar outras ferramentas de análise de programas.

Exemplo do que pedir para a IA

“Analise este programa Go 'stripped' e me diga quais são as funções principais.”

Quer saber mais? Abra as seções abaixo.

Como usar

O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.

Link da skill

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

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/go-rust-reverse/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

Ela examina os restos de informações deixados no programa, como metadados específicos de Go e Rust, para reconstruir partes da estrutura original. Isso inclui identificar onde as funções começam e terminam, e até mesmo recuperar nomes.

Instalação

Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.

No terminal (Claude Code, Codex, Cursor), na pasta do projeto:

npx skills add sickn33/agentic-awesome-skills --skill go-rust-reverse

Ou baixe só o arquivo:

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
Conteúdo técnico (SKILL.md)

Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.

Engenharia Reversa de Binários Go / Rust

Quando Usar

  • Analisando um binário Go ou Rust "strippado" (sem símbolos) onde os símbolos estão ausentes.
  • Recuperando limites e nomes de funções de metadados específicos da linguagem.

Cenários de Aplicação

  • Malware/ferramentas Go com símbolos removidos.
  • Análise baseada em strings de pânico de binários Rust.
  • Abordagens específicas da linguagem que complementam IDA/Ghidra genéricos.

Fluxo de Trabalho

Go

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

Rust

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

Dinâmico

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

Cadeia de Ferramentas

Ferramenta Uso
GoReSym Metadados Go
IDA/Ghidra + Plugins Go/Rust Descompilação
radare2 Strings rápidas
strings / rabin2 Triagem

Referências

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

Contexto de Roteamento

Upstream: MASTER R33
Downstream: Fluxo de amostras maliciosas malware-analysis; RE genérico reverse-engineering

Autoverificação de Conclusão de Tarefa

  • Nomes de funções críticas ou mapeamentos equivalentes recuperados?
  • Evidências da runtime da linguagem anotadas?
  • Checklist?

Limitações

  • Novas versões de compiladores alteram os layouts de metadados; as ferramentas devem ser mantidas atualizadas.
  • Inlining agressivo ainda resulta em descompilações grandes e difíceis de ler.

Adaptado de zhaoxuya520/reverse-skill (MIT).

Perguntas frequentes

O que significa 'stripped'?

'Stripped' significa que as informações de depuração e nomes de funções foram removidas do programa para torná-lo menor ou mais difícil de analisar. Esta ferramenta tenta recuperar parte dessas informações.

Por que é difícil analisar programas Go e Rust?

Essas linguagens têm formas complexas de organizar o código, e quando as informações extras são removidas ('stripped'), fica difícil para as ferramentas comuns entenderem a estrutura e os nomes das funções.

Essa ferramenta substitui outras ferramentas como IDA ou Ghidra?

Não, ela complementa. Ela usa métodos específicos para Go e Rust que podem ser mais eficazes do que as ferramentas genéricas em certos casos.

Detalhes

Descrição original do autor

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

Popularidade

Estrelas no GitHub
48 mil
Posição no ranking
#3149
Licença
MIT
Atualizada em
15/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas