Сравнение форматов исполняемых файлов
Это сравнение двоичных форматов исполняемых файлов, которые, будучи однажды загружены соответствующим загрузчиком, могут быть непосредственно выполнены CPU, а не интерпретироваться программным обеспечением. В дополнение к двоичному коду приложения, исполняемые файлы могут содержать заголовки и таблицы с информацией о перемещении и адресной привязке, а также различные виды метаданных. Из этих перечисленных форматов, самые используемые — PE (на Microsoft Windows), ELF (на Linux и большинстве других версий Unix), Mach-O (на OS X и iOS) и MZ (на DOS).
Название формата | Операционная система | Расширение имени файла | Явное указание процессора | Произвольные разделы | Метаданные | Цифровая подпись | Таблица строк | Таблица символов | 64 бита | Многоархитектурные | Может содержать значок |
---|---|---|---|---|---|---|---|---|---|---|---|
OS/360 | Системы мейнфреймов OS/360 и VS/9 | Нет | Нет | Нет | Нет | Нет | Да | Да | Нет | Нет | |
a.out | UNIX-подобная | Нет | Нет | Нет | Нет | Да[1] | Да[1] | Расширение | Нет | Нет | |
COFF | UNIX-подобная | Да для файла | Да | Нет | Нет | Да | Да | Расширение | Нет | Нет | |
ECOFF | Ultrix, Tru64 UNIX, IRIX | Да для файла | Да | Нет | Нет | Да | Да | Да | Нет | Нет | |
XCOFF | IBM AIX, BeOS, Mac OS | Да для файла | Да | Нет | Нет | Да | Да[2] | Да | Нет | Нет | |
ELF | UNIX-подобная | Да для файла | Да | Да | Да[3] | Да | Да[4] | Да | Расширение[5] | Расширение[6] | |
Mach-O[7] | NeXTSTEP, OS X, iOS | Да для секции | Расширение (limited to max. 256 sections) | Да | Да | Да | Да | Да | Да | Нет | |
SOM | HP-UX, MPE/ix | Неизвестно | Неизвестно | Неизвестно | Нет | Нет | Неизвестно | Да | Нет | Неизвестно | Нет |
Amiga Hunk | AmigaOS | Неизвестно | Неизвестно | Да | Да | Нет | Нет | Да | Нет | Да | Нет |
PEF[8] | Mac OS | Да для файла | Нет | Нет | Нет | Да | Да | Нет | Нет | Нет | |
CMD | CP/M-86, MP/M-86, Concurrent CP/M-86, Personal CP/M-86, S5-DOS, Concurrent DOS, Concurrent DOS 286, FlexOS, S5-DOS/ST, S5-DOS/MT, Concurrent DOS 386, Multiuser DOS, System Manager, REAL/32, DOS Plus | .CMD |
Нет (только x86) | Да | Нет | Нет | Расширение | Расширение | Нет | Нет | Нет |
FlexOS 186 | FlexOS 186, FlexOS 286, S5-DOS/ST, S5-DOS/MT, 4680 OS, FlexOS 386, 4690 OS | .186 |
Нет (только 186/188 и выше) | Да | Нет | Нет | Расширение | Расширение | Нет | Нет | Нет |
FlexOS 286 | FlexOS 286, S5-DOS/ST, S5-DOS/MT, 4680 OS, FlexOS 386, 4690 OS | .286 |
Нет (только 286 и выше) | Да | Нет | Нет | Расширение | Расширение | Нет | Нет | Нет |
CP/M-68K | CP/M-68K, Concurrent DOS 68K, FlexOS 68K | .68K |
Нет (только 68000 и выше) | Да | Нет | Нет | Неизвестно | Неизвестно | Нет | Нет | Нет |
COM (CP/M) | CP/M, MP/M, Concurrent CP/M, Personal CP/M | .COM |
Нет (только 8080/Z80) | Расширение (только BDOS 3 и выше) | Нет | Нет | Нет | Нет | Нет | Расширение | Нет |
COM (DOS) | DOS, OS/2, Windows (за исключением 64-разрядных версий), Concurrent CP/M-86 (только BDOS 3.1), Concurrent DOS, Concurrent DOS 286, FlexOS, Concurrent DOS 386, Multiuser DOS, System Manager, REAL/32, DOS Plus | .COM |
Нет (только x86) | Нет | Расширение (Novell/Caldera VERSION etc.) | Нет | Нет | Нет | Расширение | Расширение | Нет |
MZ (DOS) | DOS, OS/2, Windows (за исключением 64-разрядных версий), Concurrent DOS 286, FlexOS, Concurrent DOS 386, Multiuser DOS, System Manager, REAL/32, DOS Plus | .EXE |
Нет (только x86) | Да | Расширение(Novell/Caldera VERSION etc.) | Нет | Расширение | Расширение | Расширение | Нет | Нет |
MZ (GEM) | GEM, ViewMAX | .APP/.ACC |
Нет (x86 only) | Да | Нет | Нет | Неизвестно | Неизвестно | Нет | Нет | Неизвестно |
NE | European MS-DOS, OS/2, Windows, HX DOS Extender | .EXE |
Неизвестно | Неизвестно | Неизвестно | Нет | Неизвестно | Неизвестно | Нет | Нет | Да |
LE, (W3, W4) | OS/2 (только 2.0 и выше), Some расширители DOS | .EXE |
Неизвестно (только 286 и выше) | Неизвестно | Неизвестно | Неизвестно | Нет | Да | Нет | Нет | Да |
LX | OS/2 (2.0 and higher only), Some 32-битные расширители DOS | .EXE |
Неизвестно (только 386 и выше) | Неизвестно | Неизвестно | Неизвестно | Нет | Да[9] | Нет | Нет | Да |
PE | Windows, ReactOS, HX DOS Extender, BeOS (только R3 и выше) | .EXE |
Да для файла | Да | Да | Да[10] | Да | Да | Нет | Нет | Да |
PE32+ | Windows (только 64-битные) | .EXE |
Да для файла | Да | Да | Да | Да | Да | Да | Нет | Да |
PIM/XIP | PalmDOS (только приложения MINIMAX) | .PIM/.XIP |
Нет (только x86) | Да | Нет | Нет | Нет | Нет | Нет | Нет | Нет |
DL | MS-DOS приложения System Manager (только HP LX series) | .EXM |
Нет (только 186/188 и выше) | Да | Нет | Нет | Нет | Нет | Нет | Нет | Нет |
MP | Phar Lap расширители DOS | .EXP |
Неизвестно ([только 286 и выше) | Да | Нет | Нет | Неизвестно | Неизвестно | Нет | Нет | Нет |
P2 | Phar Lap 16-битные расширители DOS | .EXP |
Неизвестно (только 286 и выше) | Да | Нет | Нет | Неизвестно | Неизвестно | Нет | Нет | Нет |
P3 | Phar Lap 32-битные расширители DOS | .EXP |
Неизвестно (только 386 и выше) | Да | Нет | Нет | Неизвестно | Неизвестно | Нет | Нет | Нет |
GEOS | PC/GEOS, Geoworks Ensemble, New Deal Office, Breadbox Ensemble | .GEO |
Неизвестно (только x86) | Неизвестно | Неизвестно | Нет | Неизвестно | Неизвестно | Нет | Нет | Неизвестно |
Примечания
- ↑ 1,0 1,1 a.out(5) - FreeBSD Man Pages . Freebsd.org (10 июня 2010). Дата обращения: 9 июля 2012. Архивировано 23 декабря 2013 года.
- ↑ Files Reference – XCOFF Object File Format . IBM.
- ↑ elfsign – Freecode . Freshmeat.net. Дата обращения: 9 июля 2012. Архивировано 12 июня 2011 года.
- ↑ (3elf) - Elf library routines . Uw714DOS.sco.com (25 апреля 2004). Дата обращения: 9 июля 2012. (недоступная ссылка)
- ↑ FatELF: Universal Binaries for Linux . Icculus.org. Дата обращения: 9 июля 2012.
- ↑ ElfIcon: Icons for ELF files . Compholio.com. Дата обращения: 9 июля 2012. Архивировано 25 апреля 2012 года.
- ↑ Mac OS X ABI Mach-O File Format Reference . Apple Inc. (4 февраля 2009). Дата обращения: 9 июля 2012.
- ↑ MPW Command Reference - DumpPEF . Apple Inc.. Архивировано 12 мая 2008 года.
- ↑ Linear eXecutable Module Format . Дата обращения: 9 июля 2012. (недоступная ссылка)
- ↑ Windows Authenticode Portable Executable Signature Format . Microsoft (29 августа 2008). Дата обращения: 9 июля 2012. Архивировано 6 апреля 2012 года.