Portable Executable
Portable Executable | |
Filändelse | .cpl .exe .dll .ocx .sys .scr .drv |
---|
Portable Executable (PE) är ett filformat för exekverbara filer, objektkod och DLL-bibliotek. För Windows NT-operativsystem används formatet bland annat för EXE, DLL, OBJ, SYS (drivrutiner). PE-formatet är en datastruktur som gör det möjligt för Windows programladdare att hantera och köra programkoden som är inbäddad i datastrukturen. PE-formatet är även standard för exekverbara filer i Extensible Firmware Interface (EFI)-miljöer.
Ordet "Portable" avser att formatet kan användas i många olika miljöer och operativsystemsarkitekturer. Bland annat så ingår referenser till dynamiska bibliotek (som används vid dynamisk länkning), import- och exporttabeller för API:n, resurshanteringsdata och tråd-lokalt lagringsutrymme (TLS).
PE-formatet är baserat på COFF-formatet som används i operativsystemsfamiljen Unix. PE kallas därför ibland för PE/COFF.[1]
I Windows NT-baserade system så stöds för närvarande instruktionsuppsättningarna IA-32, IA-64 och x86-64 (AMD64/Intel64). Innan Windows 2000 stödde Windows NT (och därmed även PE) också MIPS, Alpha och PowerPC-uppsättningarna. Windows CE stöder dock fortfarande instruktionsuppsättningarna för flera varianter av MIPS, ARM och SuperH.
Historik
[redigera | redigera wikitext]Microsoft introducerade PE-formatet i Windows NT 3.1. Alla senare versioner av Windows (inklusive Windows 95/98/ME) stödjer formatet. Formatet har fortfarande[när?] visst stöd för att överbrygga gapet mellan DOS-baserade system och NT-system. Till exempel innehåller PE-formatet fortfarande ett litet DOS-program som skriver ut texten "Det har programmet kan inte köras i DOS-läge" (eller något i den stilen). PE utvecklas tillsammans med Windowsplattformen. Bland utökningarna finns PE-formatet för .NET, en 64-bits version som kallas PE32+ eller PE+, och en specifikation för Windows CE.
Referenser
[redigera | redigera wikitext]Externa länkar
[redigera | redigera wikitext]- Microsoft Portable Executable and Common Object File Format Specification (latest edition, OOXML format)[död länk]
- Microsoft Portable Executable and Common Object File Format Specification (1999 edition, .doc format)
- The original Portable Executable article by Matt Pietrek (MSDN Magazine, March 1994)
- Part I. An In-Depth Look into the Win32 Portable Executable File Format by Matt Pietrek (MSDN Magazine, February 2002)
- Part II. An In-Depth Look into the Win32 Portable Executable File Format by Matt Pietrek (MSDN Magazine, March 2002)
- Creating the smallest possible PE executable (97 bytes)
- Detailed description of the PE format by Johannes Plachy[död länk]
- Windows Authenticode Portable Executable Signature Format