PE-bear - Cheatsheet da Ferramenta de Reversão de Arquivos PE
PE-bear (por hasherezade) é uma ferramenta gratuita e multiplataforma de análise PE (Portable Executable) com uma GUI amigável. Analisa e exibe cada parte de um executável Windows — headers DOS/NT, tabela de seções, diretórios de dados, imports/exports, resources e rich header — e é deliberadamente robusto contra arquivos PE malformados que quebram outros parsers, que é exatamente o que malware frequentemente envia. Também compara binários lado a lado, tornando-o um padrão para triagem rápida de malware e verificação de unpacking.
Instalação
| Platform | Como |
|---|
| Windows / Linux | Faça download de uma build da página GitHub Releases |
| Do source | Construa com Qt + o submodule bearparser |
| Portável | Não há instalação necessária; apenas execute o binário extraído |
| Verificar | Abra PE-bear; arraste um PE para dentro |
Carregando Arquivos
| Ação | Como |
|---|
| Abra um PE | File → Open, ou arraste .exe/.dll/.sys para dentro |
| Múltiplos arquivos | Carregue vários; cada um recebe uma aba |
| Reload | Re-analise após mudanças externas |
| Save | Salve modificações de volta para o disco |
O Que Você Pode Inspecionar
| Panel | Mostra |
|---|
| DOS Header | Header MZ, offset e_lfanew |
| Rich Header | Fingerprint do compilador/toolchain (ótimo para atribuição) |
| NT Headers | File header + optional header (entry point, subsystem) |
| Section Headers | Nomes, tamanhos virtual/raw, características, entropy |
| Imports | DLLs e funções que o binário chama |
| Exports | Funções que o binário expõe |
| Resources | Ícones, manifests, dados incorporados |
| Data Directories | Tabelas de import/export/reloc/TLS/etc. |
Lendo Seções (Sinais de Triagem)
| Sinal | Sugere |
|---|
| Seção de entropy alta | Empacotado/encriptado (ex. .text ~7.9+) |
| Nomes de seção inusitados | UPX0, .vmp0, nomes aleatórios → empacotador |
| Seção gravável + executável | Código auto-modificável / stub de unpacking |
| Tabela de imports minúscula | Imports resolvidos em tempo de execução (empacotado) |
| Seção de entry point estranha | Entry não em .text → suspeito |
Comparando Binários
PE-bear pode mostrar dois arquivos lado a lado — inestimável para antes/depois de unpacking ou comparando variantes de malware.
| Uso | Como |
|---|
| Empacotado vs desempacotado | Compare headers/seções/imports |
| Análise de variante | Diff de duas amostras de uma família |
| Verifique um dump | Compare um memory dump com o original |
Edição
| Capacidade | Nota |
|---|
| Edite campos de header | Corrija ou tamper com valores de header |
| Edite seções | Ajuste características de seção |
| Add/convert | Algumas edições estruturais para reparo |
| Save As | Escreva o PE modificado |
Fluxos de Trabalho Comuns
# Faça triagem de uma amostra Windows desconhecida
1. Arraste a amostra para PE-bear
2. Verifique entropy da seção → alta = provavelmente empacotada
3. Veja imports → minúsculo/estranho = resolução em tempo de execução (empacotado)
4. Leia o Rich Header para dicas de toolchain/atribuição
5. Inspecione resources para payloads incorporados
# Verifique um dump desempacotado
- Compare o PE dumpado contra o original em visualização lado a lado
- Confirme que IAT e entry point parecem sensatos
PE-bear vs Outras Ferramentas PE
| Aspecto | PE-bear | CFF Explorer | Detect It Easy | PEStudio |
|---|
| Foco | Estrutura PE + diff | Edição PE | Identificação de packer/formato | Indicadores de ameaça |
| PEs malformados | Muito robusto | Moderado | Robusto | Moderado |
| Comparar arquivos | Sim | Não | Limitado | Não |
| Melhor para | Triagem + análise estrutural | Edição | Identificação de empacotadores | Triagem estilo IOC |
Funciona bem com Detect It Easy para identificação de empacotador e PE-sieve para detecção de implant em memória.
Recursos