
pefile es un módulo de Python para leer y trabajar con archivos PE (Ejecutable Portátil)
pefile es un módulo Python multiplataforma para analizar y trabajar con archivos Portable Executable (PE). Se puede acceder a la mayor parte de la información contenida en las cabeceras de los archivos PE, así como a todos los detalles y datos de las secciones.
Las estructuras definidas en los archivos de cabecera de Windows serán accesibles como atributos en la instancia de PE. La nomenclatura de los campos/atributos intentará ajustarse al esquema de nombres de esas cabeceras. Solo los accesos directos añadidos por conveniencia se desviarán de esa convención.
pefile requiere cierta comprensión básica del diseño de un archivo PE; con ella es posible explorar casi cualquier característica del formato de archivo PE.
Para instalar pefile mediante pip:
pip3 install pefile
Algunas de las tareas que pefile hace posibles son:
Consulte Ejemplos de uso para ver algunos fragmentos de código que demuestran cómo usar pefile.
Aquí hay algunos ejemplos de cómo se ve un volcado producido con pefile para diferentes tipos de archivos:
Para trabajar con binarios autenticados, incluidas firmas Authenticode, consulte el proyecto verify-sigs.
pefile se ejecuta en varios pipelines que escanean cientos de miles de nuevos archivos PE cada día y, aunque no es perfecto, se ha vuelto bastante robusto con el tiempo. Dicho esto, de vez en cuando se encuentran pequeños fallos. Si se topa con un PE que no parece procesarse correctamente, ¡por favor repórtelo! Ayudará a que pefile sea un poco más potente.
pefile es autocontenido. El módulo no tiene dependencias; es independiente del endianness; y funciona en Windows, macOS y Linux.
PDFs de pósters que representan el formato de archivo PE:
Los siguientes enlaces proporcionan información detallada sobre el formato PE y sus estructuras.