19

オブジェクト ファイルがあり、逆アセンブルしようとしています。私が使用する場合:

objdump -d example.o

のファイル形式のコードでアセンブリを取得しますelf64-x86-64

これを ARM に逆アセンブルしようとしていますが、どうすればよいですか?

4

4 に答える 4

16

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 であることを示します。

これがあなたを助けることを願っています。

于 2013-01-29T01:01:15.790 に答える
7

適切なターゲットでコンパイル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]
...
于 2012-04-17T06:11:40.350 に答える
4

ELDKをインストールし、arm-linux-objdump を使用します。x86 のみを認識するプログラムを使用して ARM 命令を逆アセンブルしようとしています。

于 2010-10-06T15:05:34.253 に答える