.ELF

Plik ELF

Executable and Linkable Format
Zadaj pytanie
SZYBKA ODPOWIEDŹ

Plik ELF to binarny format wykonywalny używany przez systemy Linux, Android, BSD i większość systemów uniksopodobnych - odpowiednik plików EXE w systemie Windows. W systemie Linux uruchamia się go bezpośrednio; pliki .elf typu homebrew dla PS2 działają w PCSX2, a pliki .elf dla GameCube/Wii działają w Dolphin. ELF nie działa natywnie w systemach Windows ani macOS i, jak każdy plik wykonywalny, może być złośliwym oprogramowaniem, więc uruchamiaj tylko pliki z zaufanych źródeł.

Deweloper: Unix System Laboratories (AT&T); now an open System V / TIS standard Kategoria: Pliki wykonywalne Otwarty standard MIME: application/x-elf
OTWIERA SIĘ NA Windows macOS Linux
Powiązane: .APK · .EXE · .VBS · .JAR

Na tej stronie

Zindeksowano 19k+ rozszerzeń
Ostatnia weryfikacja Aug 26, 2026

Nie wiesz, co to za plik?

Przeciągnij dowolny plik do naszego identyfikatora - odczytujemy tylko pierwsze bajty, aby nazwać format.

Zidentyfikuj plik

Co to jest format pliku ELF?

Pliki z rozszerzeniem .elf przechowują dane binarne ustrukturyzowane zgodnie ze standardem Executable and Linkable Format - domyślnym formatem plików wykonywalnych i obiektowych dla systemu Linux, większości systemów uniksopodobnych oraz wielu platform wbudowanych. Format ten został wprowadzony wraz z Unix System V Release 4 przez Unix System Laboratories, a później zatwierdzony jako przenośna specyfikacja Tool Interface Standard (TIS).

Pliki ELF mogą przechowywać następujące typy treści:

  • Pliki wykonywalne dla aplikacji i narzędzi, często dystrybuowane jako plik .bin
  • Skompilowane pliki obiektowe, zazwyczaj z rozszerzeniem .o
  • Biblioteki współdzielone - pliki z rozszerzeniem .so
  • Zrzuty pamięci (core dumps - migawki pamięci generowane po awarii procesu)

Format opiera się na ściśle zdefiniowanej strukturze binarnej. Każdy plik .elf zaczyna się od 4-bajtowej magicznej sekwencji 7F 45 4C 46 (0x7F, a następnie litery ASCII ELF) pod offsetem 0, po której następują pola nagłówka identyfikujące docelową architekturę, rozmiar słowa (32-bitowy lub 64-bitowy) oraz kolejność bajtów (little-endian lub big-endian). Dwie opcjonalne tabele - tabela nagłówków programu (program header table) oraz tabela nagłówków sekcji (section header table) - opisują odpowiednio sposób ładowania segmentów w czasie wykonywania oraz organizację sekcji na potrzeby konsolidacji (linkowania).

Choć standard ELF został opracowany z myślą o systemach Unix, został szybko zaadoptowany przez inne platformy, w tym konsole do gier, takie jak PlayStation 2 i Wii, system Android oraz wiele środowisk wbudowanych. Standardowy typ MIME to application/x-elf. Zawartość pliku .elf nie jest czytelna dla człowieka; narzędzia takie jak readelf i objdump (oba będące częścią GNU Binutils) pozwalają na inspekcję nagłówków i deasemblację kodu bez jego uruchamiania.

Bezpieczeństwo

RYZYKO: HIGH

Jak każdy plik wykonywalny, ELF może zawierać złośliwe oprogramowanie - botnety Linux/IoT (np. warianty Mirai) są rozpowszechniane jako pliki binarne ELF, a ELF po uruchomieniu działa z Twoimi uprawnieniami. Uruchamiaj pliki ELF tylko z zaufanych źródeł; nie nadawaj uprawnień „chmod +x” i nie wykonuj przypadkowych pobranych plików. Bezpiecznie sprawdzaj nieznane pliki ELF za pomocą readelf/objdump lub skanuj je w serwisie VirusTotal przed uruchomieniem. Pliki .elf homebrew na konsole niosą mniejsze ryzyko (działają w piaskownicy emulatora), ale nadal należy je pobierać z renomowanych źródeł homebrew.

Szczegóły formatu

w pigułce
PEŁNA NAZWAExecutable and Linkable Format
DEWELOPERUnix System Laboratories (AT&T); now an open System V / TIS standardod 1989 (Unix System V Release 4); adopted as the TIS/System V ABI standard
TYP MIMEapplication/x-elf
TYPFormat binarny wykonywalny / obiektowy / biblioteki współdzielonej
STANDARDOtwarty · bezpłatny
MAGICZNE BAJTY · SYGNATURA PLIKU
OFFSET
00010203
HEX
7F454C46
ASCII
·ELF
Każdy plik ELF zaczyna się od 4-bajtowej sygnatury magicznej 7F 45 4C 46 (0x7F + „ELF”) pod offsetem 0. Bajt 4 (EI_CLASS) to 1 dla wersji 32-bitowej / 2 dla 64-bitowej; bajt 5 (EI_DATA) to 1 dla little-endian / 2 for big-endian; bajt 16 (e_type) informuje, czy jest to plik wykonywalny, obiekt relokowalny, obiekt współdzielony (.so) czy zrzut pamięci.

Programy otwierające pliki ELF

Windows3 apps
PCSX2 (PlayStation 2 emulator) Open-source Uruchom plik .elf homebrew/SDK dla PS2: File > Run ELF (lub załaduj plik .elf bezpośrednio). Tylko dla plików binarnych ELF przeznaczonych na PS2.
Dolphin (GameCube/Wii emulator) Open-source Otwórz plik .elf homebrew dla GameCube/Wii w Dolphin, aby go uruchomić. Tylko dla plików binarnych ELF przeznaczonych na konsole Nintendo.
Ghidra Open-source Zaimportuj plik ELF, aby go zdeasemblować i zdekompilować do czytelnego kodu C - do celów inżynierii wstecznej i analizy.
macOS1 app
Ghidra Open-source Zaimportuj plik ELF, aby go zdeasemblować i zdekompilować do czytelnego kodu C - do celów inżynierii wstecznej i analizy.
Linux4 apps
Linux (run it) Wbudowany Nadaj uprawnienia do wykonywania i uruchom: „chmod +x ./program && ./program”. Plik wykonywalny ELF JEST programem - nie ma w nim nic do „podglądu”. Musi być zgodny z architekturą Twojego procesora.
readelf (GNU binutils) Open-source Inspekcja bez uruchamiania: „readelf -a plik.elf” pokazuje nagłówki, sekcje, symbole i docelową architekturę.
objdump (GNU binutils) Open-source Deasemblacja: „objdump -d plik.elf” pokazuje kod maszynowy; „objdump -x” pokazuje wszystkie nagłówki.
Ghidra Open-source Zaimportuj plik ELF, aby go zdeasemblować i zdekompilować do czytelnego kodu C - do celów inżynierii wstecznej i analizy.

Szczegóły techniczne

specyfikacja
Liczba magiczna`7F 45 4C 46` (0x7F, a następnie ASCII `ELF`) pod offsetem 0, obecna w każdym poprawnym pliku ELF
Typ MIME`application/x-elf`
Warianty rozmiaru słowa32-bitowy (EI_CLASS = `01`) i 64-bitowy (EI_CLASS = `02`), zakodowane pod offsetem 4 w nagłówku ELF
Pole kolejności bajtówEI_DATA pod offsetem 5: `01` = little-endian, `02` = big-endian; określane przez docelową architekturę sprzętową
Typy plików (e_type)ET_EXEC (wykonywalny), ET_REL (obiekt relokowalny), ET_DYN (obiekt współdzielony lub PIE), ET_CORE (zrzut pamięci)
Architektury docelowex86, x86-64, ARM, AArch64, MIPS, RISC-V, PowerPC, SPARC i wiele innych, identyfikowane przez pole `e_machine` w nagłówku ELF
Identyfikator OS/ABIBajt EI_OSABI pod offsetem 7 określa docelowe ABI: 0 = System V, 3 = Linux, 9 = FreeBSD, 12 = Solaris
Układ strukturyNagłówek ELF → opcjonalna tabela nagłówków programu (segmenty ładowania runtime) → dane → opcjonalna tabela nagłówków sekcji (sekcje czasu linkowania)
Kluczowe nazwane sekcje`.text` (kod), `.data` (dane zainicjowane), `.bss` (dane zainicjowane zerami), `.rodata` (stałe), `.symtab` / `.dynsym` (symbole), `.rel` / `.rela` (relokacje)
Linkowanie dynamiczneObiekty współdzielone są rozwiązywane w czasie ładowania przez linker dynamiczny (`ld.so`); ścieżka do wymaganego interpretera jest przechowywana w nagłówku programu `PT_INTERP`
Informacje debugowaniaDane debugowania DWARF są osadzone w sekcjach ELF `.debug_*` i mogą zostać usunięte z produkcyjnych plików binarnych za pomocą polecenia `strip`
Pliki wykonywalne niezależne od pozycjiPliki binarne PIE mają typ ET_DYN i obsługują ASLR; jądro Linux losuje ich bazowy adres ładowania przy każdym uruchomieniu
Podstawowe narzędzia inspekcji`readelf -a` (nagłówki, symbole, sekcje) oraz `objdump -d` (deasemblacja), oba dostarczane przez GNU Binutils
Wydano1989 (Unix System V Release 4); adopted as the TIS/System V ABI standard
Otwarty standardTak · bezpłatny (royalty-free)
Specyfikacjarefspecs.linuxfoundation.org

Konwersje ELF

Pytania i odpowiedzi społeczności

pytania użytkowników
Zadaj szybkie pytanie
Uzyskaj pomoc od osób pracujących z plikami ELF. Bądź precyzyjny - podaj system i wersję oprogramowania.
Konto nie jest wymagane · odpowiedzi zazwyczaj w ciągu doby

Brak pytań - bądź pierwszą osobą, która zapyta o pliki ELF.

Najczęściej zadawane pytania

Jak otworzyć plik ELF?
To zależy od jego przeznaczenia. Program ELF dla systemu Linux się uruchamia, a nie otwiera: „chmod +x ./plik && ./plik”. Plik .elf homebrew dla PlayStation 2 uruchamia się w PCSX2; plik .elf dla GameCube/Wii w Dolphin. Aby zajrzeć do wnętrza dowolnego pliku ELF bez jego uruchamiania, użyj readelf, objdump lub Ghidra.
Czy mogę uruchomić plik ELF w systemie Windows?
Nie natywnie - ELF to format systemów Unix/Linux, Windows używa EXE/PE. Użyj WSL (Windows Subsystem for Linux) lub maszyny wirtualnej z Linuksem, aby uruchomić Linux ELF, albo emulatora (PCSX2/Dolphin), aby uruchomić plik .elf z konsoli.
Czy plik ELF to to samo co EXE?
Są to odpowiedniki w różnych systemach: ELF to format wykonywalny systemu Linux/Unix, a EXE (PE) to format systemu Windows. Nie są one zamienne i nie można ich bezpośrednio konwertować między sobą.
Jak uruchomić plik ELF w PCSX2 lub Dolphin?
W PCSX2 użyj opcji „Run ELF” (lub załaduj .elf) dla homebrew PS2; w Dolphin otwórz plik .elf bezpośrednio dla homebrew GameCube/Wii. Potrzebujesz odpowiedniego emulatora dla konsoli, na którą plik ELF został skompilowany.
Jak sprawdzić, co jest w środku pliku ELF?
Użyj „readelf -a plik” dla nagłówków/sekcji/symboli, „objdump -d plik” do deasemblacji lub zaimportuj go do Ghidra, aby zdekompilować go do języka C. Pozwala to na inspekcję pliku bez jego wykonywania.
Czy uruchamianie pliku ELF jest bezpieczne?
Tylko jeśli pochodzi z zaufanego źródła - pliki binarne ELF mogą być złośliwym oprogramowaniem (botnety Linux/IoT to często pliki ELF). Nieznane pliki sprawdź najpierw za pomocą readelf lub VirusTotal. Pliki .elf homebrew na konsole działają w piaskownicy emulatora i niosą mniejsze ryzyko.

Źródła

1Wikipedia - Executable and Linkable Formaten.wikipedia.org
2GNU Binutils - readelf / objdumpwww.gnu.org

Odkrywaj dalej

w całej bazie danych

Najpopularniejsze rozszerzenia w tym tygodniu

1.AQQAQQ Instant Messenger File
2.CRDOWNLOADChrome Partial Download File
3.PARTPartial Download File
4.M4AMPEG-4 Audio File
5.EXEWindows Executable (Portable Executable)
6.ICSiCalendar data file
7.DATProgram Data File (generic)
8.RPMSGRestricted Permission Message
9.JSONJavaScript Object Notation file
10.ODTOpenDocument Text

Powiązane rozszerzenia

.APKAndroid Package
.EXEWindows Executable (Portable Executable)
.VBSVBScript file (Visual Basic Script)
.JARJava Archive
.EX4MetaTrader 4 Compiled Program (Expert Advisor / Indicator / Script)
.APPXMicrosoft Windows App Package (AppX)

Darmowe narzędzia do plików

Identyfikator plików i konwerter obrazów w przeglądarce - wszystko działa na Twoim urządzeniu.

Otwórz przybornik

Przeglądaj rozszerzenia plików A-Z