オブジェクト ファイルがあり、逆アセンブルしようとしています。私が使用する場合:
objdump -d example.o
のファイル形式のコードでアセンブリを取得しますelf64-x86-64
。
これを ARM に逆アセンブルしようとしていますが、どうすればよいですか?
オブジェクト ファイルがあり、逆アセンブルしようとしています。私が使用する場合:
objdump -d example.o
のファイル形式のコードでアセンブリを取得しますelf64-x86-64
。
これを ARM に逆アセンブルしようとしていますが、どうすればよいですか?
ARM コードの逆アセンブルを行いたい場合は、ARM ツール チェーンが必要です。これが私が得たものです。
http://bb.osmocom.org/trac/wiki/toolchain
これを取得したら、objdump の代わりに arm-elf-objdump を使用できます。私が使用したコマンドは
arm-elf-objdump -D -b binary -marm binaryfile.dat
マンページを見ると、「-b」の後にファイルタイプが続くことがわかります。申し訳ありませんが、.o ファイルを分析するように -b に指示する方法がわかりません。「-marm」は、CPU が ARM であることを示します。
これがあなたを助けることを願っています。
適切なターゲットでコンパイルbinutils
して、ARM を逆アセンブルする方法を知っている binutils objdump バイナリを取得します。
http://www.gnu.org/software/binutils/
./configure --enable-targets=all
例えば。
ターゲットを選択し、ターゲットobjdump
を認識する新しいバイナリを作成して使用します。binutils/README
ターゲティングの詳細については、ファイルを参照してください。
objdump -D t3c # stock binary
objdump: t3c: File format not recognized
対。
./../../binutils-2.22/binutils/objdump -D t3c # latest compiled from source with all targets
In archive t3c:
t3c:arm: file format mach-o-le
Disassembly of section .text:
00002d94 <start>:
2d94: e59d0000 ldr r0, [sp]
...
ELDKをインストールし、arm-linux-objdump を使用します。x86 のみを認識するプログラムを使用して ARM 命令を逆アセンブルしようとしています。