
pefile è un modulo Python per leggere e lavorare con i file PE (Portable Executable)
pefile è un modulo Python multi-piattaforma per analizzare e lavorare con file Portable Executable (PE). La maggior parte delle informazioni contenute negli header dei file PE è accessibile, così come i dettagli e i dati di tutte le sezioni.
Le strutture definite nei file header di Windows saranno accessibili come attributi nell'istanza PE. La denominazione dei campi/attributi cercherà di aderire allo schema di denominazione in quegli header. Solo le scorciatoie aggiunte per comodità si discosteranno da quella convenzione.
pefile richiede una comprensione di base della struttura di un file PE — con esso è possibile esplorare quasi ogni singola caratteristica del formato dei file PE.
Per installare pefile tramite pip:
pip3 install pefile
Alcune delle attività che pefile rende possibili sono:
Si prega di fare riferimento a Usage Examples per alcuni frammenti di codice che dimostrano come usare pefile.
Ecco alcuni esempi di come appare un dump prodotto con pefile per diversi tipi di file:
Per lavorare con binari autenticati, incluse le firme Authenticode, si prega di consultare il progetto verify-sigs.
pefile viene eseguito in diverse pipeline che scansionano centinaia di migliaia di nuovi file PE ogni giorno e, sebbene non sia perfetto, è diventato abbastanza robusto nel tempo. Detto ciò, piccoli problemi vengono scoperti di tanto in tanto. Se ti imbatti in un PE che non viene elaborato correttamente, segnalalo, per favore! Aiuterà a rendere pefile un po' più potente.
pefile è autonomo. Il modulo non ha dipendenze; è indipendente dall'endianness; e funziona su Windows, macOS e Linux.
PDF di poster che raffigurano il formato dei file PE:
I seguenti link forniscono informazioni dettagliate sul formato PE e le sue strutture.