запрос на исполняемые файлы Unix - PullRequest
2 голосов
/ 18 декабря 2009

Это может быть основной вопрос, но я хотел его задать, так как не знаю об этом.

если у меня есть двоичный файл, который был создан в HP-UX, и вдруг я беру этот двоичный файл в Linux или, скажем, на любой другой платформе, например AIX или Sun Solaris, и если я хочу проверить детали двоичного файла Относительно того, на какой платформе она была разработана, как я могу сделать это на любой платформе? Или есть общий способ сделать это на всех вкусах Unix?

Ответы [ 2 ]

6 голосов
/ 18 декабря 2009

Команда file дает некоторую информацию о любом файле, а не только исполняемых файлах.

В исполняемых файлах он дает такие результаты, как:

MS Windows PE 32-битный исполняемый файл консоли Intel 80386 не перемещается

или

ELF 32-битный исполняемый файл MSB, SPARC, версия 1 (SYSV), статически связанный, без десорбции

0 голосов
/ 19 декабря 2009

В зависимости от того, как он был настроен, binutils objdump может использоваться в самых разных двоичных форматах.

$ objdump -f flex/bin/flashplayer

flex/bin/flashplayer:     file format elf32-i386
architecture: i386, flags 0x00000112:
EXEC_P, HAS_SYMS, D_PAGED
start address 0x0804fb20

$ objdump -f flex/bin/adl
In archive flex/bin/adl:

flex/bin/adl:powerpc:common:     file format mach-o-be
architecture: powerpc:common, flags 0x00000012:
EXEC_P, HAS_SYMS
start address 0x00001c88


flex/bin/adl:i386:     file format mach-o-i386
architecture: i386, flags 0x00000012:
EXEC_P, HAS_SYMS
start address 0x00001e64

$ objdump -f flex/bin/adl.exe

flex/bin/adl.exe:     file format pei-i386
architecture: i386, flags 0x0000012f:
HAS_RELOC, EXEC_P, HAS_LINENO, HAS_DEBUG, HAS_LOCALS, D_PAGED
start address 0x004014c0

Это двоичный файл Linux x86 ELF, толстый двоичный файл PPC и x86 Mach-O, а также исполняемый файл Windows, просто для примера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...