0Pricing
Ethical Hacking Academy · Aula

Desempacotamento

Supere a ofuscação

Desempacotamento é uma aula grátis de Ethical Hacking Academy no CoddyKit. Esta é a aula 4 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Ethical Hacking Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Ethical Hacking Academy inclui 4 aulas no total.

O que é empacotamento?

O empacotamento comprime ou criptografa o código real de um programa e o envolve em um pequeno stub. Durante a execução, o stub desempacota o código original na memória e o executa.

Os autores de malware usam o empacotamento para evitar assinaturas e dificultar a análise estática.

Por que desempacotar?

Um binário empacotado apresenta poucas cadeias de texto, poucas importações e alta entropia. O código relevante fica oculto até que o stub seja executado.

O desempacotamento recupera o código original para que você possa analisá-lo estaticamente e extrair IOCs reais.

Detecção de um empacotador

Ferramentas como Detect It Easy (DIE) e PEiD identificam empacotadores conhecidos por assinatura. A alta entropia e uma tabela de importações pequena também são indícios fortes.

Entre os empacotadores comuns estão UPX, ASPack e Themida.

die sample.exe
# Packer: UPX(3.96)

Desempacotando UPX

UPX é um empacotador comum e não malicioso que pode ser revertido com a própria ferramenta. A opção -d descomprime o binário, devolvendo-o à sua forma original.

Muitas amostras do mundo real usam UPX ou uma versão do UPX ligeiramente modificada, portanto esta é uma tentativa inicial frequente.

upx -d sample.exe

Desempacotamento manual: a ideia

Empacotadores personalizados não podem ser desfeitos com uma ferramenta. Em vez disso, deixe o stub desempacotar o código na memória e capture o resultado.

O plano é: executar a amostra sob um depurador, interrompê-la logo após a conclusão do desempacotamento e extrair o código agora revelado.

Encontrando o OEP

O ponto de entrada original (OEP) é o local para onde a execução salta quando o desempacotamento termina. Alcançar o OEP significa que o código real já está na memória.

As técnicas para encontrá-lo incluem observar um salto distante para fora do stub ou definir um ponto de interrupção na memória que o stub grava e depois executa.

Pontos de interrupção para o desempacotamento

Um truque comum é usar um ponto de interrupção de hardware na pilha (o stub geralmente restaura os registradores imediatamente antes de saltar para o OEP) ou um ponto de interrupção em chamadas de API comuns usadas pelo código desempacotado.

Quando o ponto de interrupção é atingido no OEP, o código original está totalmente decodificado.

Extraindo o processo

No OEP, extraia a memória do processo para um novo arquivo. Ferramentas como Scylla (integrada ao x64dbg) ou PE-sieve capturam a imagem desempacotada.

A extração agora contém as instruções reais, mas talvez ainda não seja executada sozinha.

Reconstruindo as importações

Após a extração, a tabela de endereços de importação geralmente está corrompida, pois o empacotador resolveu as importações durante a execução. O Scylla pode reconstruir a IAT para que o arquivo extraído possa ser analisado.

Depois que as importações forem corrigidas, você poderá carregar a extração limpa no Ghidra ou no IDA.

Outra ofuscação

Além do empacotamento, o malware usa outras formas de ofuscação: cadeias de texto criptografadas e decodificadas durante a execução, instruções inúteis, achatamento do fluxo de controle e verificações antidepuração.

Essas técnicas são derrotadas caso a caso, geralmente combinando rastreamento dinâmico com uma leitura estática cuidadosa.

Verificando a amostra desempacotada

Após extrair o processo e reconstruir as importações, confirme o sucesso executando novamente a análise estática: agora você deverá ver muito mais cadeias de texto e uma tabela de importações preenchida.

Se a entropia voltar ao normal e as APIs estiverem visíveis, o desempacotamento funcionou e o código real está pronto para ser analisado.

Verificação rápida

Relembre o que o OEP representa durante o desempacotamento manual.

Recapitulação

Agora você entende o desempacotamento:

  • O empacotamento oculta o código real; detecte-o com DIE/PEiD, alta entropia e poucas importações.
  • Empacotadores conhecidos, como o UPX, são desempacotados com uma ferramenta (upx -d).
  • Para empacotadores personalizados, execute a amostra sob um depurador, encontre o OEP, faça a extração com o Scylla e reconstrua as importações.
  • Outras formas de ofuscação (cadeias de texto criptografadas, antidepuração) são tratadas caso a caso.

Você concluiu o curso de Engenharia Reversa de Malware.

Perguntas Frequentes

A aula “Desempacotamento” é grátis?

Sim — o texto completo de “Desempacotamento” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Ethical Hacking Academy, atualize para CoddyKit PRO. O curso de Ethical Hacking Academy inclui 4 aulas no total.

O que vou aprender em “Desempacotamento”?

Supere a ofuscação Você pratica Ethical Hacking Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Ethical Hacking Academy?

Nenhuma experiência prévia é necessária. Ethical Hacking Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 4 de 4.

Quanto tempo leva a aula “Desempacotamento”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Ethical Hacking Academy?

Sim. Cada aula de Ethical Hacking Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Análise estática
  2. Análise dinâmica
  3. Fundamentos da desmontagem
  4. Desempacotamento
← Voltar para Ethical Hacking Academy