O que padrões-de-análise-binária faz?
Domine padrões de análise binária, incluindo desmontagem, descompilação, análise de fluxo de controle e reconhecimento de padrões de código. Use ao analisar executáveis, entender código compilado ou realizar análise estática em binários.
Técnicas Principais
- Desmontagem: Converter código de máquina em linguagem assembly legível usando ferramentas como
objdump -douradare2 -A. - Descompilação: Transformar código de máquina em uma representação de alto nível (como C pseudo-código) usando Ghidra ou IDA Pro.
- Análise de Fluxo de Controle (CFG): Mapear grafo de chamadas e blocos básicos para entender ramificações e laços.
- Reconhecimento de Padrões: Identificar funções da biblioteca padrão (ex:
strlen,memcpy) por sequências de bytes ou heurísticas.
Ferramentas Suportadas
| Ferramenta | Uso Principal | Comando Exemplo |
|---|---|---|
| objdump | Desmontagem básica | objdump -d binary |
| Ghidra | Descompilação e análise avançada | ghidraSwing (GUI) ou script headless |
| IDA Pro | Engenharia reversa interativa | Interface gráfica ou linha de comando |
| radare2 | Análise de linha de comando e scripting | r2 -A binary |
Exemplos de Uso
1. Desmontar um executável
objdump -d hello_world | head -50
2. Usar radare2 para análise de fluxo de controle
r2 -A binary
> afl # Listar funções
> ag # Gerar grafo de fluxo de controle
3. Reconhecimento de padrões com sequências de bytes
# Procurar por sequência de bytes para 'strlen'
strings -t x binary | grep "strlen"
Por que usar este skill?
- Segurança: Analisar binários sem executá-los (análise estática).
- Depuração: Entender código compilado quando o código fonte não está disponível.
- Portabilidade: Migrar código binário para outras plataformas.
- Educação: Aprender sobre compiladores e linguagem assembly.
Plataformas Compatíveis
- Claude Code
- Cursor
- Codex
Para começar, escolha uma ferramenta da tabela acima e aplique os comandos ao binário alvo.