Reputation: 67301
This might be a basic question but i wanted to ask since i am not aware about it.
if i have a binary file which was was created on HP-UX and suddenly i take this binary file on linux or let's say in any other platform like AIX or sun solaris and if i want to check about the details of the binary as to in which platform it was developed,how could i do it on any platform ?or is there a generic way doit it on all the flavour's of unix?
Upvotes: 2
Views: 636
Reputation: 204994
Depending on how it was configured, binutils objdump
can be used on a wide variety of binary formats.
$ 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
That's a Linux x86 ELF binary, a fat PPC and x86 Mach-O binary, and a Windows executable, just to give some examples.
Upvotes: 0
Reputation: 67879
The file
command gives you some information about any file, not only executables.
On executables, it gives results such as:
MS Windows PE 32-bit Intel 80386 console executable not relocatable
or
ELF 32-bit MSB executable, SPARC, version 1 (SYSV), statically linked, not stripped
Upvotes: 6