2009-12-18 2 views
2

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

Если у меня есть двоичный файл, который был создан на HP-UX, и вдруг я беру этот двоичный файл на linux или скажу на любой другой платформе, например AIX или sun solaris, и если я хочу проверить детали бинарный, как в какой платформе он был разработан, как я могу сделать это на любой платформе? Или существует общий способ сделать это на всех вкусах unix?

ответ

6

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

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

MS Windows PE 32-разрядный Intel 80386 консоль исполняемым не перемещаемый

или

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

0

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

 
$ 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, просто чтобы дать несколько примеров.

+0

Но этот «objdump» присутствует во всех ароматах unix? Насколько я заинтересован, я не могу найти его в AIX. – Vijay

+0

Я сказал «binutils objdump», т. Е. Тот, что был из проекта GNU binutils; он доступен практически для всех платформ, хотя и не является частью стандартной установки на несвободных системах. – ephemient

Смежные вопросы