
🗜️ A packer for Windows x86 executable files written in C and Intel x86 Assembly. The new file after packing can obstruct reverse engineering(Uno strumento di compressione per file eseguibili Windows x86 sviluppato in C e Assembly Intel x86. Il nuovo file dopo la compressione può ostacolare il reverse engineering.)

PE-Packer è un semplice packer per file PE di Windows. Il nuovo file PE dopo il confezionamento può ostacolare il processo di reverse engineering.
Durante il confezionamento di un file PE, esegue le seguenti operazioni:
Quando viene eseguito un file PE confezionato, lo shell-entry decritta e carica il programma originale come segue:
Prima del confezionamento, l'uso di alcuni strumenti di disassemblaggio permette di disassemblare il file eseguibile per analizzare il codice, come IDA Pro.
Disassemblaggio del codice.

Ricerca di stringhe costanti.

Analisi della tabella di import.

Dopo il confezionamento, l'analisi inversa viene ostacolata.
Disassemblaggio del codice.

Ricerca di stringhe costanti.

Analisi della tabella di import.

Questo progetto è solo una demo per principianti per studiare il Formato PE di Windows e il Linguaggio Assembly. Presenta ancora alcuni problemi di compatibilità e bug che ne impediscono l'uso pratico.
Il progetto deve essere configurato su/per Windows a 32 bit e al momento può elaborare solo programmi .exe a 32 bit.
i686.PATH di questi tre strumenti.mkdir -p build
cd build
cmake .. -D CMAKE_C_COMPILER=gcc -G "MinGW Makefiles"
cmake --build .
Oppure eseguire direttamente il file build.ps1:
PS> .\build.ps1
Per confezionare un programma, è necessario specificare il nome di input e il nome di output.
PE-Packer <input-file> <output-file>
Ad esempio:
PE-Packer hello.exe hello-pack.exe
È possibile utilizzare Doxygen per generare la documentazione.
Distribuito sotto la Licenza MIT. Vedere LICENSE per maggiori informazioni.