0x042444FF; /* inc dword ptr [esp+4] */
我需要此工具来了解哪个部分意味着inc
,dword
,反之亦然。
答案 0 :(得分:1)
您可以使用objdump
工具将可执行二进制文件“反编译”回汇编代码,但由于可能的优化,生成的汇编代码可能与原始程序集不同(但它们应该类似)实质上)。
答案 1 :(得分:0)
命令行工具,获取该十六进制数并为您反汇编。我还没有听说过一个工具。您可以将该数字作为二进制文件从其中生成一个elf文件,然后调用objdump。有这样的东西虽然你可以查一查。
http://ref.x86asm.net/index.html
或
http://ref.x86asm.net/coder32.html
0x44告诉你它是一个增量。 x86是可变长度的,因此其他一些字节起作用。如果0x04是esp的偏移量,我不会感到惊讶。
答案 2 :(得分: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]
xxd
是一个可以反向工作的hexdump实用程序,它是X11的一部分。 0000
是结果文件中十六进制数据的地址。
您可以使用任何其他工具来创建二进制文件。