Die Portable Executable -Datei-Format , oder PE, ist für Windows ausführbaren Dateien und Dynamic Link Libraries oder DLLs verwendet . Jedes PE -Datei hat einen Header, der Eigenschaften über die Datei -und Hardware- Kompatibilität Einstellungen enthält. Der PE-Header hat mehrere Eigenschaften, die es als eine portable Dateiformat unterscheiden. Layout
Die PE -Datei-Header enthält Anweisungen , die das Betriebssystem auf, wie man Teile der Datei in den Speicher laden zu informieren. Dies wird durch den Einsatz des dynamischen Linkers , die wichtige Entscheidungen trifft , wo man welche Art von Speicher gesetzt haben . Zum Beispiel wird Programmcode in Nur-Lese- Speicher Abschnitte gelegt, während Programm Daten in Schreib-Lese- Speicher Abschnitten angeordnet ist.
Customization
Es gibt eine Reihe von Flags, die im PE-Header , der eine Datei anpassen, um auf eine bestimmte Art von Hardware laufen eingestellt werden kann. Zum Beispiel können Sie die " Endian " der Daten . Dies bezieht sich auf das Ende eines Daten-Byte das höchstwertige Bit enthält und wobei dieses Ende hält das am wenigsten signifikante Bit . Im Wesentlichen , erzählt er den Computer , ob die Daten von rechts nach links oder umgekehrt zu lesen. Diese Hardware-spezifische Details ermöglichen PE Dateien angepasst werden, um auf eine Reihe von verschiedenen Computer-Architekturen ausgeführt werden.
. Net Extensions
Microsoft. NET Framework erweitert das PE-Format um Unterstützung für die . Net Laufzeit bieten . Die . Net Common Language Runtime , CLR oder ist ein Umfeld, das läuft . Net-Anwendungen . Wenn eine PE -Datei mit . Net -Erweiterungen vom Betriebssystem ausgelesen wird , übergibt es dem Rest der Ausführung der CLR . Die Datei wird dann in der CLR-Umgebung ausgeführt wird, anstelle der traditionellen Betriebssystemumgebung .
Kompatibel mit mehreren Betriebssystemen
Die PE-Header -Format kompatibel mit mehreren Betriebssystemen ist Systeme . Auf dem Linux- Betriebssystem , kann das Programm Wine lesen und ausführen PE -Header-Dateien . Darüber hinaus verwendet die Open-Source- Version von. Net Framework Mono, die auf anderen Betriebssystemen als Windows ausgeführt werden können , die gleichen Dateien wie Windows- PE und ist damit kompatibel .