.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.BINCD/DVD Disc Image (BIN/CUE)
3.CRDOWNLOADChrome Partial Download File
4.PARTPartial Download File
5.MDMarkdown Document
6.RPMSGRestricted Permission Message
7.NOMEDIAAndroid No-Media Marker File
8.PRO6XProPresenter 6 Bundle File
9.PRDXSoftMaker Presentations Document
10.EXEWindows Executable (Portable Executable)

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