šŸ’¼ O formato PE

Como explicado no capĆ­tulo anterior, a maioria dos tipos de arquivo que trabalhamos possuem uma especificaĆ§Ć£o. Com os arquivos executĆ”veis no Windows nĆ£o Ć© diferente: eles seguem a especificaĆ§Ć£o do formato PE (Portable Executable) que conheceremos agora.

O formato PE Ć© o formato de arquivo executĆ”vel atualmente utilizado para os programas no Windows, isso inclui os famosos arquivos EXE mas tambĆ©m DLL, OCX, CPL e SYS. Seu nome deriva do fato de que o formato nĆ£o estĆ” preso a uma arquitetura de hardware especĆ­fica.

Os programas que criam estes programas, chamados compiladores precisam respeitar tal formato e o programa que os interpreta, carrega e inicia sua execuĆ§Ć£o (chamado de loader) precisa entendĆŖ-lo tambĆ©m.

A documentaĆ§Ć£o completa do formato PE Ć© mantida pela prĆ³pria Microsoft e estĆ” disponĆ­vel online. Uma versĆ£o em formato do Word esteve disponĆ­vel por um tempo e a salvamos aqui.

Assim como o formato GIF e outras especificaƧƵes de formato de arquivo, o formato PE possui cabeƧalhos, que possuem campos e valores possƭveis. Outro conceito importante Ʃ o de seƧƵes.

A estrutura geral de um arquivo PE Ć© apresentada na imagem abaixo:

Estrutura de um arquivo PE

Conheceremos agora os cabeƧalhos mais importantes para este primeiro contato com a engenharia reversa e, em seguida, as seƧƵes de um arquivo PE.

Edit on GitHub