Was ist das EXE-Dateiformat?
Eine Datei mit der Erweiterung .exe enthält ein kompiliertes Programm samt Ressourcen für Microsoft Windows, DOS oder (historisch) OS/2. .exe-Dateien können Anwendungen, Spiele, Installationsprogramme oder Schadsoftware enthalten. Sie können über die Befehlszeile oder per Doppelklick in der grafischen Oberfläche gestartet werden. .exe-Dateien sind systemabhängig - sie speichern Daten in binärer Form, und ihre interne Signatur bestimmt den ausführbaren Untertyp.
Jede .exe-Datei beginnt mit der Zwei-Byte-Magic-Signatur MZ (hex 4D 5A) an Position 0, benannt nach ihrem Miterfinder Mark Zbikowski. Moderne Windows-Executables tragen zusätzlich eine PE\0\0-Signatur an dem Offset, der an Position 0x3C gespeichert ist, was die Datei als Portable Executable ausweist. Es gibt fünf historische Hauptunterformate für .exe-Dateien:
MZ- 16-Bit-Format, nativ für DOS.NE- 16-Bit-Format „New Executable“, verwendet von 16-Bit-Windows (1.x-3.x) und OS/2 1.x; läuft nicht auf reinem DOS, wird aber von 32-Bit-Windows-Kompatibilitätsschichten und OS/2 unterstützt.LX- 32-Bit-Format für OS/2 2.0 und später.LE- 16/32-Bit-Format, hauptsächlich für VxD-Treiber in älteren Windows-Versionen (vor dem Jahr 2000) verwendet.PE- „Portable Executable“, umfasst sowohl 32-Bit- (PE32) als auch 64-Bit-Versionen (PE32+); mit Windows NT eingeführt und heute das dominante Format. ARM- und ARM64-Varianten erweitern PE für Windows auf ARM-Geräten.
.exe-Dateien können Ressourcen wie Icons, Dialoge, Versionsinformationen, Audio und Anwendungsmanifeste enthalten. Nicht alle .exe-Dateien lassen sich auf einem beliebigen System ausführen, da sie plattformabhängig sind. Um eine .exe-Datei unter einem anderen Betriebssystem zu starten, ist ein geeignetes Emulationswerkzeug wie Wine oder CrossOver erforderlich. Selbstextrahierende Archive verwenden ebenfalls die Erweiterung .exe - sie beginnen mit einem MZ/PE-Stub und enthalten intern ein ZIP-Archiv, 7z oder eine CAB-Nutzlast.
Moderne Windows-.exe-Dateien tragen häufig eine Authenticode-Code-Signatur zur Verifizierung der Herausgeberidentität, und das Betriebssystem setzt Sicherheitsfunktionen durch, darunter ASLR, DEP/NX und Control Flow Guard. Importe aus .dll-Dateien werden beim Laden vom Windows PE-Loader aufgelöst. .exe-Dateien aus unbekannten oder nicht vertrauenswürdigen Quellen müssen mit Vorsicht behandelt werden, da sie bei Ausführung ein Infektionsrisiko durch Schadsoftware darstellen.
Sicherheit
RISIKO: HIGHEXE ist der häufigste Schadprogrammvektor unter Windows: Sie kann beliebigen Code mit den eigenen Rechten ausführen - Viren, Trojaner, Ransomware und „Cracks/Keygens“ sind typischerweise EXE-Dateien. Sicherheitscheckliste: Nur EXEs vom offiziellen Anbieter oder einem vertrauenswürdigen Store ausführen; vor dem Start die digitale Signatur prüfen (Rechtsklick → Eigenschaften → Digitale Signaturen) - legitime Software ist code-signiert, und der Herausgebername stimmt überein; äußerste Vorsicht bei EXEs per E-Mail, Chat oder im Paket mit „kostenlosen“ Downloads. SmartScreen- und Antiviruswarnungen bei einer unbekannten EXE sollten ernst genommen werden. Um einen Download zu prüfen, ohne ihn auszuführen, kann er als Archiv in 7-Zip geöffnet oder auf VirusTotal hochgeladen werden. Auf doppelte Erweiterungen wie „invoice.pdf.exe“ und EXEs mit Dokumenticons achten.
Formatdetails
kurz gefasstProgramme zum Öffnen von EXE-Dateien
Technische Details
technische Spezifikation| Magic Bytes | MZ (4D 5A) an Position 0; die PE-Signatur PE\0\0 (50 45 00 00) erscheint an dem Offset, der im MZ-Stub an 0x3C gespeichert ist |
| MIME-Typ | application/vnd.microsoft.portable-executable |
| Architekturunterstützung | x86 (32-Bit), x86-64/AMD64 (64-Bit), ARM, ARM64; die Zielarchitektur ist im COFF-Dateiheader-Feld „Machine“ kodiert |
| Unterformat-Varianten | MZ (MS-DOS 16-Bit), NE (16-Bit-Windows/OS/2 1.x), LX (OS/2 2.x 32-Bit), LE (VxD-Treiber), PE32 (32-Bit-Windows), PE32+ (64-Bit-Windows) |
| PE-Abschnittslayout | Abschnitte umfassen .text (ausführbarer Code), .data (initialisierte Daten), .rdata (schreibgeschützte Daten), .rsrc (Ressourcen) und .reloc (Basisrelokalierungen) |
| Einsprungpunkt | Relative virtuelle Adresse (RVA) des ersten Befehls, gespeichert in AddressOfEntryPoint im optionalen PE-Header |
| Importtabelle | Listet die DLLs und benannten oder ordinalen Funktionsexporte auf, die die Binärdatei benötigt; wird beim Start vom Windows-Loader aufgelöst |
| Exporttabelle | Macht optional Funktionen oder Datensymbole für andere ausführbare Dateien oder DLLs verfügbar; hauptsächlich in DLLs, gelegentlich auch in EXEs |
| Ressourcenabschnitt (.rsrc) | Bettet Icons, Bitmaps, Dialoge, Stringtabellen, Versionsinformationen und Anwendungsmanifeste in einem typisierten/benannten/sprachmarkierten Baum ein |
| Code-Signierung | Authenticode (PKCS#7/CMS) digitale Signatur, gespeichert im Security Directory; validiert durch Windows SmartScreen, UAC und den Kernel beim Laden von Treibern |
| Sicherheitsmaßnahmen | DllCharacteristics-Flags im optionalen Header aktivieren ASLR, DEP/NX, Control Flow Guard (CFG), SafeSEH und High-Entropy VA für 64-Bit-Binärdateien |
| PE-Prüfsumme | Vier-Byte-CheckSum-Feld im optionalen Header; vom Windows-Loader für Kernelmode-Treiber und Systemdateien erzwungen |
| Subsystemtypen | Windows GUI, Windows-Konsole (CUI), nativ (Kernelmode), EFI-Anwendung, EFI-Bootservice-Treiber, EFI-Laufzeittreiber |
| Verwendung als selbstextrahierendes Archiv | SFX-Pakete betten nach dem PE-Stub eine ZIP-, 7z- oder CAB-Nutzlast ein; die Datei läuft als normale ausführbare Datei und entpackt sich automatisch |
| Veröffentlicht | 1985 (MS-DOS MZ); PE format since Windows NT 3.1, 1993 |
| Spezifikation | learn.microsoft.com |