EXE

.exe mode
Ikona formatu
ilustracja
Rozszerzenia pliku

.exe 00010101000011100101010010 EXE

Typ MIME

application/vnd.microsoft.portable-executable

Ostatnia wersja

1 EXE mode

Typ

wykonywalny (binarny język maszynowy)

EXE (od ang. executable, wykonywalny) – rozszerzenie nazwy pliku wykonywalnego w systemach Microsoft Windows, MS-DOS oraz OS/2; pliki o tym rozszerzeniu w zamierzeniu zawierają przede wszystkim skompilowany kod maszynowy programu, choć może zawierać także inne zasoby (np. dotyczące struktury okien, ikony, obrazy, dźwięki, itp.).

Sygnatura pliku to sekwencja bajtów, zwykle na początku pliku, pomagająca zidentyfikować format pliku (jest to kolejny element potwierdzający po rozszerzeniu pliku); w przypadku plików wykonywalnych EXE (oraz innych, mających identyczną strukturę, m.in. DLL, OCX, ACM, AX, IME, MUI, RLL, TSP, CPL, DRV, VXD, SCR i niektóre SYS) najczęściej dwoma pierwszymi znakami są litery „MZ” pochodzące od inicjałów autora, Marka Zbikowskiego. Plik EXE może zawierać kod wykonywalny w różnych formatach (zależny przykładowo od systemu operacyjnego, zob. dalej), pliki binarne typu Portable Executable w dalszej części zawierają sygnaturę „PE”. 001101010110101010101 EXE

Formaty

Istnieje kilka głównych formatów plików wykonywalnych:

DOS
OS/2
Microsoft Windows
Pozostałe

Poza powyższymi istnieją także niestandardowe formaty, takie jak W3 (biblioteka plików LE, używana wyłącznie w WIN386.EXE), W4 (skompresowany zbiór plików LE, używany tylko w Vmm32.vxd), DL, MP, P2, P3 (trzy ostatnie używane przez extender Phar Lap).

W przypadku plików wykonywalnych w formacie 16- i 32-bitowym dla systemu Windows standardem jest rozpoczęcie ich krótkim programem poprzedzonym sygnaturą „MZ” (tzw. stub). Jego celem jest zwykle poinformowanie o przeznaczeniu tego programu dla systemu Windows (zazwyczaj w postaci tekstu „This program cannot be run in DOS mode.” (pol. „Ten program nie może być uruchomiony w trybie DOS.”) lub „This program requires Microsoft Windows.” (pol. „Ten program wymaga Microsoft Windows.”)), choć możliwe jest umieszczenie w tym miejscu innego kodu (korzystając z odpowiedniej opcji konsolidatora), np. wersji programu dla systemu DOS. Zasadnicza część danego programu, tzn. fragment przeznaczony dla systemu Windows, ma sygnaturę „NE” lub „PE” – kod zaczynający się od sygnatury „MZ” jest wówczas ignorowany (poza odnośnikiem do struktury PE i samą sygnaturą). Jednakże kod „PE” może być również wykonany w systemie DOS przy użyciu wspomnianego wyżej extendera exe.

Przypisy

  1. ↑ Matt Pietrek. An In-Depth Look into the Win32 Portable Executable File Format. „MSDN Magazine”, s. sekcja „The MS-DOS Header”, luty 2002. (ang.). [dostęp 2016-11-30]

Linki zewnętrzne