c't 5/2017
S. 170
Know-how
PE-Dateien
Aufmacherbild

Code durchleuchtet

Was Windows-Binärdateien so alles verraten

Ausführbare Windows-Dateien (.exe, .dll, .sys …) verraten viel mehr über ihre Herkunft, über die verwendeten Tools, ja sogar über den Programmierstil, als man so glaubt. Und man erfährt auch, wie modern denn die großen Softwarehäuser selbst sind, die uns andauernd zu Updates drängen.

Programme unter Windows besitzen im Regelfall ein Dateiformat, das Microsoft als Portable Executable (PE) spezifiziert hat. In deren Headern stecken häufig auch recht detaillierte Informationen über die exakten Versionen der verwendeten Compiler, Assembler, Linker und Import- und Export-Bibliotheken. So lässt sich erkennen, ob sie in C, C++ oder mit anderen Compilern oder gar in Assembler erstellt wurden und auf welchem Update-Niveau sie sind.

Nun gibt es eine Vielzahl solcher PE-Dateien, nicht nur solche mit .exe, .dll oder .sys am Namensende. Auf Windows-Rechnern findet man typischerweise fünfzig und mehr verschiedene Typen in diesem Dateiformat – ob sie nun .ocx, .scr, .efi, .bin, .tlb, .cat, .mui oder so heißen.