Il formato PE: anatomia di un eseguibile Windows
Portable Executable è il formato di .exe/.dll su Windows. Analizzarlo dice cosa fa un binario prima di eseguirlo.
Le parti che contano
Il DOS header ("MZ") punta al PE header. L'Optional Header dà entry point e image base. Le sezioni (.text codice, .data dati, .rdata, .rsrc) hanno permessi. La Import Address Table elenca le API importate — una prima impronta del comportamento.
pefile / PE-bear / CFF Explorer per ispezionare header e IAT
# import sospetti: VirtualAlloc, WriteProcessMemory, CreateRemoteThreadSegnali per l'analista
Sezioni con entropia alta (packing), SizeOfRawData zero ma VirtualSize grande (codice sganciato a runtime), IAT minuscola (import risolti dinamicamente per nascondersi), timestamp e certificati.
Uso difensivo
Parsing PE è alla base di YARA rules, detection statica e triage. Conoscere la struttura permette di distinguere un packer legittimo da uno malevolo e di trovare shellcode nelle risorse.