📑 Table of Contents
.exe
Ikona formatu
ilustracja
Rozszerzenia pliku

.exe

Typ MIME

application/vnd.microsoft.portable-executable

Producent

Microsoft

Typ

wykonywalny (binarny język maszynowy)

Otwarty format?

nie

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[1]. 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”.

Formaty

edytuj

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

DOS
  • 16-bitowy plik wykonywalny DOS formatu MZ – oryginalny format pliku wykonywalnego systemu DOS, identyfikowany za pomocą dwóch znaków „MZ” w kodzie ASCII na początku pliku; ma relatywnie małe możliwości. Dopuszczalne, chociaż zdecydowanie rzadziej używane, są także znaki „ZM”.
  • 16-bitowy (New Executable, „nowy wykonywalny”, tzn. nowy typ pliku wykonywalnego) – używany w wielowątkowym systemie DOS 4.0 i w 16-bitowych wersjach Microsoft Windows, identyfikowany za pomocą liter „NE” na początku pliku; nie zdobył wielkiej popularności, nie mógł być uruchamiany w pozostałych wersjach systemu DOS, lecz możliwe to było w przypadku 32-bitowych wersji systemów Windows i OS/2.
OS/2
  • 32-bitowy (Linear Executable, „liniowy [plik] wykonywalny”) – wprowadzony w OS/2 2.0, identyfikowany znakami „LX” na początku pliku; może być uruchomiany w systemie OS/2 w wersji począwszy od 2.0.
  • Mieszany 16/32-bitowy (Linear Executable) wprowadzony w OS/2 2.0, identyfikowany za pomocą początkowych znaków „LE”; nie używany w OS/2, znalazł zastosowanie w sterownikach VxD systemów Windows 3.x i Windows 9x.
Microsoft Windows
  • 32-bitowy (Portable Executable, „przenośny [plik] wykonywalny”) – wprowadzony w Windows NT, identyfikowany za pomocą znaków „PE” w kodzie ASCII; wykonywalny we wszystkich systemach Windows NT oraz Windows 95 i nowszych, a nawet systemie DOS rozszerzonym za pomocą ekstendera HX, wykorzystywany ponadto w BeOS R3 (format tam użyty narusza jednak specyfikację tego formatu).
  • 64-bitowy (Portable Executable) – wersja dla 64-bitowych systemów Windows, może być uruchamiany tylko w 64-bitowych systemach 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 DOS HX.

Przypisy

edytuj
  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

edytuj

📚 Artikel Terkait di Wikipedia

Plik danych

złożone zadania; nie występują w każdym systemie pliki wykonywalne (ang. executable files), skrypty (ang. scripts), pliki wsadowe (ang. batch files) – zawierające

.sys

MS-DOS. Są to pliki systemowe zawierające sterowniki urządzeń lub konfiguracje sprzętowe dla danego systemu. Najczęściej pliki .sys w systemach DOS są

Plik obiektowy

systemach Unix takim formatem pliku jest Executable and Linkable Format (ELF), a w Microsoft Windows Portable Executable (PE). Typowy plik obiektowy składa

Plik wykonywalny

Plik wykonywalny, plik uruchamialny (ang. executable) – plik, który może być uruchomiony bezpośrednio w środowisku systemu operacyjnego. Zawiera instrukcję

Windows 1.x

stosowane w Windows miały jednak własny format – „nowy wykonywalny” (New Executable, NE) – który mógł być przetwarzany tylko w środowisku Windows i który

Mark Zbikowski

Pietrek: An In-Depth Look into the Win32 Portable Executable File Format (ang.) „MSDN Magazine”, sekcja The MS-DOS Header, luty 2002 [dostęp 2019-02-19] Company

CIH

uważana za poważne zagrożenie. CIH rozprzestrzenia się w formacie Portable Executable, infekując systemy operacyjne Windows 9x, Windows 95, 98 i ME. Nie są

Spis formatów plików

Project MPR Generated executable menu file; FoxPro MPT Bitmap graphics (Multipage TIFF); MPV View file; MS Project MPX Compiled executable menu file; FoxPro