En exe -fil (körbar) innehåller de instruktioner som behövs för att köra ett program på ett Windows -operativsystem. Det är inte bara en lista med kommandon, utan en komplex struktur inklusive:
* PE (bärbar körbar) rubrik: Detta är den viktigaste delen. Det ger metadata om filen, till exempel:
* filsignatur: Identifierar den som en PE -fil.
* Arkitektur: Anger processorn (t.ex. x86, x64, arm).
* ingångspunkt: Adressen där programmets körning börjar.
* Avsnitt Tabell: En tabell som beskriver de olika avsnitten i filen.
* Importtabell: Listar externa bibliotek eller Dlls programmet beror på.
* Exporttabell: (Om tillämpligt) Listor Funktioner Programmet gör tillgängligt för andra program.
* Avsnitt: Dessa är block av kod och data. Vanliga avsnitt inkluderar:
* .text: Innehåller programmets maskinkodinstruktioner.
* .data: Innehåller initialiserade globala och statiska variabler.
* .rdata: Innehåller skrivskyddad data, såsom strängkonstanter.
* .BSS: Innehåller oinitialiserade globala och statiska variabler (vanligtvis tilldelade vid körning).
* .reloc: Innehåller omlokaliseringsinformation som används för att justera adresser när programmet laddas i minnet.
* resurser: Dessa är oavsiktliga data som bilder, ikoner, ljud och andra tillgångar som används av programmet.
I huvudsak är EXE -filen ett paket som innehåller allt som operativsystemet behöver för att ladda och utföra programmet i minnet. Operativsystemets lastare använder informationen i PE -rubriken för att korrekt ladda de olika avsnitten i minnet, lösa beroenden och starta körning vid den angivna ingångspunkten. Koden i avsnittet ".text" körs sedan av processorn.