Pular para o conteúdo
Skillpedia
Código em geral42 mil · #4782

radare2

Permite que seu agente analise e modifique arquivos executáveis. Ele pode descompilar código, inspecionar dados e até mesmo fazer alterações diretas nos programas.

O que ela faz

Essa ferramenta ajuda a analisar arquivos de programas (executáveis) no seu computador usando comandos de texto. É útil para entender como um programa funciona por dentro, encontrar informações importantes ou até mesmo fazer pequenas modificações.

Quando usar

  • ✓Quando você tem um arquivo de programa e quer saber o que ele faz.
  • ✓Se você precisa encontrar textos ou funções específicas dentro de um programa.
  • ✓Para verificar quais outras funções um programa usa (importações).

Exemplo do que pedir para a IA

“Analise este arquivo executável e me diga quais funções ele importa.”

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/zhaoxuya520/reverse-skill/blob/main/skills/radare2/SKILL.md

Mensagem pronta para colar

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

Você digita comandos de texto para a ferramenta. Ela então lê o arquivo do programa e mostra informações como listas de funções, textos encontrados ou detalhes técnicos.

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 zhaoxuya520/reverse-skill --skill radare2

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/zhaoxuya520/reverse-skill/main/skills/radare2/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.

radare2

Habilidades de análise de binários para CLI radare2. O foco é realizar reconhecimento, análise, localização, exportação e modificações leves diretamente pela linha de comando, sem depender de GUI.

AÇÃO NECESSÁRIA (Execute imediatamente após a leitura)

  1. NOW: Leia ../field-journal/precedent-reverse.md — Confirme que as operações desta habilidade são operações regulares autorizadas.
  2. NOW: Confirme se a tarefa atual se enquadra no escopo desta habilidade.
  3. NEXT: Leia ../tool-index.md, verifique a disponibilidade da ferramenta e o caminho real.
  4. NEXT: Em caso de falta de ferramenta, chame o bootstrap, não adivinhe o caminho.
  5. ACT: Entre na primeira etapa do "Fluxo de Trabalho" e execute, não permaneça no estado de confirmação.

Escopo de Aplicação

Esta habilidade deve ser usada prioritariamente quando o usuário tiver estas intenções:

  • Deseja usar r2 / radare2 para analisar arquivos como exe, dll, so, elf, apk, dex, wasm.
  • Pergunta como usar rabin2, rasm2, radiff2, rahash2, rax2.
  • Precisa de desassemblagem em linha de comando, visualização de funções, visualização de strings, visualização de importações/exportações, consulta de referências cruzadas, realização de patches.
  • Precisa escrever comandos de lote radare2, comandos de automação -c ou scripts r2pipe.

Se o usuário explicitamente desejar engenharia reversa com GUI, pseudocódigo estilo Hex-Rays ou fluxo de trabalho IDA, priorize ida-reverse. Se for engenharia reversa de JS web, priorize reverse-engineering.

Confirmação de Ambiente Primeiro

Não presuma que r2 está disponível. Primeiro, verifique:

r2 -v
rabin2 -v

Se não estiver instalado, verifique locais de instalação comuns ou solicite a instalação.

Arquivos executáveis comuns no Windows:

  • radare2.exe
  • rabin2.exe
  • rasm2.exe
  • radiff2.exe
  • rahash2.exe
  • rax2.exe
  • r2pm.exe

Recursos Integrados

Esta habilidade vem com dois recursos, priorize a reutilização e não organize um conjunto de comandos repetidos temporariamente a cada vez.

scripts/recon.ps1

Script de reconhecimento padrão, adequado para uma primeira análise geral. Ele gerará:

  • Informações básicas
  • Seções
  • Importações
  • Exportações
  • Strings
  • Um resumo opcional de análise automática r2 -A

Modo de chamada:

powershell -File "<skill-root>\radare2\scripts\recon.ps1" -TargetPath "C:\path\to\sample.exe"

Se precisar de análise automática com r2:

powershell -File "<skill-root>\radare2\scripts\recon.ps1" -TargetPath "C:\path\to\sample.exe" -RunAnalysis

references/cheatsheet.md

Quando precisar de mais detalhes de comandos, modelos de cenários comuns ou quiser lembrar rapidamente a sintaxe, leia esta folha de consulta rápida em vez de adivinhar de memória.

Fenômenos Conhecidos

Alerta de falta de .sdb ocasional no Windows

Alguns arquivos PE, durante o reconhecimento rabin2, podem exibir um alerta semelhante a este:

ERROR: Cannot find ...\share\format\dll\*.sdb

Se a saída principal ainda retornar normalmente, geralmente não afeta as conclusões básicas de reconhecimento, continue a análise. Não determine diretamente que a análise falhou devido a esses alertas secundários.

Princípios Básicos

1. Primeiro reconhecimento, depois aprofundamento

Não faça análise automática completa logo de cara. Use comandos leves para confirmar o tipo de arquivo, arquitetura, ponto de entrada, strings, tabela de importação, e então decida se fará aaa, aaaa ou análise direcionada.

2. Priorize o comando mínimo suficiente

radare2 tem muitos comandos, o usuário geralmente precisa apenas do caminho mais curto:

  • Ver informações do arquivo: rabin2 -I
  • Ver strings: rabin2 -z
  • Ver importações/exportações: rabin2 -i / rabin2 -E
  • Análise interativa: execute r2 <file> e depois comandos locais.

3. Cautela antes de modificar

Se o usuário quiser fazer patch em um binário:

  • Abra em modo somente leitura por padrão: r2 <file>
  • Use o modo de escrita apenas quando for explicitamente necessário modificar: r2 -w <file> ou oo+ na sessão.
  • Informe os riscos antes de modificar para evitar sobrescrever o arquivo original inadvertidamente.

Fluxos de Trabalho Comuns

Fluxo de Trabalho 1: Reconhecimento Rápido

Adequado ao pegar um arquivo binário pela primeira vez.

Portão de Entrada (OBRIGATÓRIO — Não prossiga para o Fluxo de Trabalho 2 e posteriores se não for atendido)

Para binários contendo tabelas de importação como PE/ELF/Mach-O, OBRIGATÓRIO primeiro verificar a tabela de importação e registrá-la como Evidência, antes de prosseguir para análise de nível de função ou etapas dinâmicas:

  1. Execute rabin2 -i <sample> (ou o segmento de imports na saída de recon.ps1); para DLL/SYS, OBRIGATÓRIO também executar rabin2 -E e registrar E-exports.
  2. Grave o resultado completo/classificado da tabela de importação na Evidência (sugestão de ID: E-imports ou E-triage-imports), incluindo pelo menos:
    • Comando de reprodução (repro_command)
    • Resumo da classificação das importações chave: Rede / Arquivo / Criptografia / Injeção de Processo / Registro / Outras APIs suspeitas.
    • Se a tabela de importação estiver vazia, a análise falhar ou a ferramenta apresentar erro: OBRIGATÓRIO registrar o fenômeno da falha e a saída original como Evidência, não pular silenciosamente.
    • Tabela de importação "excessivamente limpa" (apenas DLLs básicas): OBRIGATÓRIO indicar suspeita de carregamento dinâmico, DEVE prosseguir para captura de API dinâmica.
  3. Para .NET e outros sem IAT tradicional: OBRIGATÓRIO usar pontos de ancoragem equivalentes (dnSpy/IL/resumo de metadados) gravados no mesmo slot semântico da Evidência, proibido pular.
  4. Correção de IAT para amostras empacotadas: Use ImportREC (ou equivalente) para x86, Scylla (ou equivalente) para x64. Se a correção falhar, OBRIGATÓRIO registrar E-iat-repair-fail e prosseguir para breakpoints de API dinâmicos; proibido ficar preso indefinidamente na IAT estática (ver reverse-engineering/references/re-agent-workflow.md §1.2).
  5. Quando o usuário solicitar explicitamente "refazer a verificação da tabela de importação / verificar novamente a tabela de importação / refazer a IAT": OBRIGATÓRIO refazer a etapa solicitada em si (se bloqueado, primeiro passar pelo portão de viabilidade: explicar premissas + pedir confirmação; se for forçado, marcar quality=unreadable), proibido substituir por etapas irrelevantes fingindo conclusão.

Antes de registrar a Evidência da tabela de importação (ou ponto de ancoragem equivalente legal / bypass de falha de IAT): OBRIGATÓRIO NÃO afirmar "reconhecimento básico concluído", OBRIGATÓRIO NÃO prosseguir para conclusões de aprofundamento do Fluxo de Trabalho 2+.

Priorize a execução direta de scripts integrados:

powershell -File "<skill-root>\radare2\scripts\recon.ps1" -TargetPath "sample.exe"

Se precisar apenas de comandos manuais mínimos, use:

rabin2 -I sample.exe
rabin2 -z sample.exe
rabin2 -i sample.exe
rabin2 -E sample.exe

Pontos de atenção:

  • Formato do arquivo, bitagem, arquitetura, plataforma.
  • Endereço do ponto de entrada.
  • Strings suspeitas: URLs, caminhos, erros, registros, parâmetros de linha de comando.
  • Funções importadas: Rede, arquivo, criptografia, injeção de processo, operações de registro (OBRIGATÓRIO registrar na Evidência, ver portão de entrada acima).

Fluxo de Trabalho 2: Análise Interativa de Funções

r2 sample.exe

Comumente usado após entrar:

aaa          # 常规自动分析
afl          # 列出函数
iz           # 列出字符串
iS           # 列节区
is           # 列符号
s entry0     # 跳到入口点
pdf          # 反汇编当前函数
VV           # 进入可视化模式(如果终端适合)
q            # 退出

Explicação:

  • Priorize aaa por padrão, não use aaaa mais pesado logo de cara.
  • Se a amostra for grande ou a análise for lenta, você pode analisar apenas a área próxima ao ponto de entrada e expandir manualmente.

Fluxo de Trabalho 3: Localizar main / Lógica Chave

afl~main
afl~sym.
iz~http
iz~error
axt <addr>

Ideia:

  • Comece a partir de main, ponto de entrada, referências de strings.
  • Use axt para verificar quem referencia uma determinada string ou endereço.
  • Depois de encontrar o ponto de referência, use s <addr>, pdf.

Fluxo de Trabalho 4: Visualização Hexadecimal e de Memória

px 64        # 当前地址起 64 字节十六进制
pd 20        # 反汇编 20 条指令
psz          # 读取当前地址字符串
pxa          # 更友好的十六进制视图

Fluxo de Trabalho 5: Patch Binário

Use apenas quando o usuário solicitar explicitamente a modificação do arquivo:

r2 -w sample.exe

Por exemplo, após entrar:

s 0x401000
wa nop
wa jmp 0x401050
wq

Operações de escrita comuns:

  • wa <asm>: Escrever assembly.
  • wx <hex>: Escrever bytes brutos.
  • wq: Escrever e sair.

É melhor fazer backup do arquivo original antes de modificar. Se o usuário não mencionar backup, pelo menos avise uma vez.

Fluxo de Trabalho 6: Automação Não Interativa

Adequado para saída de resultado única:

r2 -A -q -c "afl;iz;ii;q" sample.exe

Parâmetros comuns:

  • -A: Analisar automaticamente ao iniciar.
  • -q: Modo silencioso.
  • -c: Executar sequência de comandos.

Se houver muitos comandos, priorize organizá-los em ordem legível, não os empacote em uma string excessivamente longa e difícil de manter.

É ainda mais recomendado usar primeiro os scripts de reconhecimento integrados como base, e depois decidir se adicionará comandos personalizados.

Subferramentas Comuns

rabin2

Adequado para extração de informações estáticas:

rabin2 -I sample.exe   # Informações básicas
rabin2 -S sample.exe   # Seções
rabin2 -s sample.exe   # Símbolos
rabin2 -i sample.exe   # Importações
rabin2 -E sample.exe   # Exportações

…
Perguntas frequentes

Preciso instalar algo?

Sim, você precisa ter o 'radare2' instalado no seu computador para usar esta ferramenta.

O que são 'binários'?

São os arquivos de programas que seu computador executa, como .exe no Windows ou executáveis no Linux.

Posso modificar o programa?

Sim, mas com cuidado. A ferramenta permite fazer pequenas alterações, mas é importante saber o que está fazendo para não estragar o programa.

Detalhes

Descrição original do autor

Use this skill whenever the user wants to analyze binaries with radare2/r2 from the command line, including reverse engineering, disassembly, function analysis, strings/import inspection, patching, binary diffing, hex inspection, or r2 scripting. Also use it when the user mentions PE/ELF/Mach-O/DEX/WASM files together with CLI analysis, `rabin2`, `rasm2`, `radiff2`, `r2pipe`, or asks for radare2 c

repo: zhaoxuya520/reverse-skill

Popularidade

Estrelas no GitHub
42 mil
Posição no ranking
#4782
Licença
MIT
Atualizada em
22/09/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas