1
0x042444FF; /* inc dword ptr [esp+4] */

incどの部分が を意味するか、dwordまたはその逆かを知るために、このツールが必要です。

4

3 に答える 3

1

このobjdumpツールを使用して、実行可能バイナリをアセンブリコードに「逆コンパイル」することができますが、最適化の可能性があるため、結果のアセンブリコードは元のアセンブリと同じではない場合があります(ただし、本質的には類似している必要があります)。

于 2010-09-15T09:11:59.743 に答える
0

以下は少し不便ですが、機能します。

$ xxd -r > objdump-test.bin
0000 ff 44 24 04
$ objdump -D --target=binary --architecture i386:intel objdump-test.bin 

objdump-test.bin:     file format binary

Disassembly of section .data:

0000000000000000 <.data>:
   0:   ff 44 24 04             inc    DWORD PTR [esp+0x4]

xxdX11 の一部であり、逆方向に機能する hexdump ユーティリティです。は0000、結果ファイル内の 16 進データのアドレスです。

代わりに、他のツールを使用してバイナリ ファイルを作成できます。

于 2010-09-15T17:58:04.203 に答える
0

その16進数を取得して逆アセンブルするコマンドラインツール。ツールは聞いたことがありません。その数値を取得して、バイナリとしてこれらの 4 バイトを使用して elf ファイルを作成し、objdump を呼び出すことができます。あなたはそれを調べることができますが、そのようなもので。

http://ref.x86asm.net/index.html

また

http://ref.x86asm.net/coder32.html

0x44 は、それがインクリメントであることを示しています。x86 は可変長であるため、他のバイトの一部が使用されます。0x04 が esp へのオフセットであっても驚かないでしょう。

于 2010-09-15T13:45:40.567 に答える