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
Mensagem pronta para colar
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-reverseOu 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.mdConteú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.
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #3149
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
00-andruia-consultant
Ajuda seu agente a iniciar ou melhorar projetos de IA. Ele analisa código, sugere ferramentas e cria planos de ação em espanhol.
sickn33/agentic-awesome-skills
007
Faz seu agente realizar auditorias de segurança e modelagem de ameaças. É útil para proteger projetos contra ataques e vulnerabilidades.
sickn33/agentic-awesome-skills
10-andruia-skill-smith
Ajuda seu agente a criar ou melhorar ferramentas de IA. Ele define como as ferramentas funcionam, escreve a documentação e valida a estrutura.
sickn33/agentic-awesome-skills
20-andruia-niche-intelligence
Faz seu agente criar um resumo sobre um setor específico. É útil para entender o contexto, regras, padrões de uso e riscos de um projeto, usando fontes confiáveis.
sickn33/agentic-awesome-skills
Skills parecidas
benchmark-optimization-loop
Faz seu agente melhorar a velocidade de algo de forma medida. Ele testa várias versões e escolhe a mais rápida que ainda funciona corretamente.
affaan-m/ECC
change-impact
Ajuda seu agente a analisar o impacto de mudanças no código antes de fazê-las. Ele compara o planejado com o real depois, cobrindo caminhos, dados, testes e documentação. É útil para mudanças arriscadas ou que afetam várias partes do sistema.
affaan-m/ECC
click-path-audit
Faz seu agente rastrear todos os botões e interações do usuário para achar bugs. Ele encontra problemas onde funções parecem funcionar sozinhas, mas falham juntas. Útil quando bugs persistem mesmo após depuração.
affaan-m/ECC