
🗜️ Um empacotador para arquivos executáveis Windows x86 escrito em C e Assembly Intel x86. O novo arquivo após o empacotamento pode dificultar a engenharia reversa(uma ferramenta de empacotamento para executáveis Windows x86 desenvolvida em C e Assembly Intel x86, o novo arquivo após empacotamento pode dificultar a engenharia reversa)

PE-Packer é um empacotador simples para arquivos Windows PE. O novo arquivo PE após o empacotamento pode dificultar o processo de engenharia reversa.
Ele fará as seguintes ações ao empacotar um arquivo PE:
Ao executar um arquivo PE empacotado, o shell-entry descriptografará e carregará o programa original da seguinte forma:
Antes do empacotamento, o uso de algumas ferramentas de desmontagem pode desmontar o arquivo executável para analisar o código, como o IDA Pro.
Desmontagem do código.

Busca por strings constantes.

Análise da tabela de importação.

Após o empacotamento, a análise reversa será dificultada.
Desmontagem do código.

Busca por strings constantes.

Análise da tabela de importação.

Este projeto é apenas uma demonstração para iniciantes estudarem o Formato PE do Windows e a Linguagem Assembly. Ele ainda apresenta alguns problemas de compatibilidade e bugs que não podem ser usados na prática.
O projeto deve ser configurado para Windows 32 bits e atualmente só pode processar programas .exe de 32 bits.
i686.PATH dessas três ferramentas.mkdir -p build
cd build
cmake .. -D CMAKE_C_COMPILER=gcc -G "MinGW Makefiles"
cmake --build .
Ou execute o arquivo build.ps1 diretamente:
PS> .\build.ps1
Para empacotar um programa, você deve especificar o nome de entrada e o nome de saída.
PE-Packer <input-file> <output-file>
Por exemplo:
PE-Packer hello.exe hello-pack.exe
Você pode usar o Doxygen para gerar o documento.
Distribuído sob a Licença MIT. Consulte LICENSE para mais informações.