2

初歩的な質問かもしれませんが、よくわからないので質問させてください。

HP-UX で作成されたバイナリ ファイルがあり、突然 Linux でこのバイナリ ファイルを取得した場合、または AIX や Sun Solaris などの他のプラットフォームでバイナリの詳細を確認したい場合それが開発されたプラットフォーム、どのプラットフォームでそれを行うことができますか?または、UNIX のすべてのフレーバーでそれを行う一般的な方法はありますか?

4

2 に答える 2

6

このfileコマンドは、実行可能ファイルだけでなく、あらゆるファイルに関する情報を提供します。

実行可能ファイルでは、次のような結果が得られます。

MS Windows PE 32 ビット Intel 80386 コンソール実行可能ファイルは再配置できません

また

ELF 32 ビット MSB 実行可能ファイル、SPARC、バージョン 1 (SYSV)、静的にリンク、削除されていない

于 2009-12-18T16:15:00.743 に答える
0

構成方法に応じて、binutils objdumpはさまざまなバイナリ形式で使用できます。

$ objdump -f flex/bin/flashplayer

flex/bin/flashplayer: ファイル形式 elf32-i386
アーキテクチャ: i386、フラグ 0x00000112:
EXEC_P、HAS_SYMS、D_PAGED
開始アドレス 0x0804fb20

$ objdump -f フレックス/ビン/adl
アーカイブ flex/bin/adl:

flex/bin/adl:powerpc:common: ファイル形式 mach-o-be
アーキテクチャ: powerpc:common、フラグ 0x00000012:
EXEC_P、HAS_SYMS
開始アドレス 0x00001c88


flex/bin/adl:i386: ファイル形式 mach-o-i386
アーキテクチャ: i386、フラグ 0x00000012:
EXEC_P、HAS_SYMS
開始アドレス 0x00001e64

$ objdump -f flex/bin/adl.exe

flex/bin/adl.exe: ファイル形式 pei-i386
アーキテクチャ: i386、フラグ 0x0000012f:
HAS_RELOC、EXEC_P、HAS_LINENO、HAS_DEBUG、HAS_LOCALS、D_PAGED
開始アドレス 0x004014c0

これは、Linux x86 ELF バイナリ、fat PPC および x86 Mach-O バイナリ、および Windows 実行可能ファイルです。例をいくつか示します。

于 2009-12-18T23:03:56.187 に答える