Portable Executable
Portable Executable | |
Filändelse | .cpl, .exe, .dll, .ocx, .sys, .scr, .drv |
---|
Portable Executable (PE) är ett filformat för applikationer, objektkod och DLL-bibliotek. Det används i 32- och 64-bitsversionerna av Microsoft Windows. Ordet "Portable" avser att formatet kan användas i många olika miljöer och operativsystemsarkitekturer. 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. 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). För Windows NT-operativsystem används formatet bland annat för EXE, DLL, OBJ, SYS (dvs drivrutiner). PE-formatet är även standard för exekverbara filer i Extensible Firmware Interface (EFI)-miljöer.
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.
Historia i korthet
Microsoft introducerade PE-formatet i Windows NT 3.1. Alla senare versioner av Windows (inklusive Windows 95/98/ME) stöder formatet. Formatet har fortfarande 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.
Se även
Referenser
- ^ Peering Inside the PE: A Tour of the Win32 Portable Executable File Format, Matt Pietrek, March 1994
Externa länkar
- Microsoft Portable Executable and Common Object File Format Specification (latest edition, OOXML format)
- 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)
- The .NET File Format by Daniel Pistelli
- Creating the smallest possible PE executable (97 bytes)
- Detailed description of the PE format by Johannes Plachy
- Windows Authenticode Portable Executable Signature Format