10

什么是让 objdump 反汇编原始 x64 代码的正确架构?您会认为-m x86-64应该通过阅读帮助来工作,但事实并非如此。我尝试了两个 cygwin64 版本:

$ objdump --version
GNU objdump (GNU Binutils) 2.23.52.20130604

以及我的 Fedora 18 x64 install( 2.23.51.0.1-3.fc18 20120806) 中的版本,但我只得到can't use supplied machine x86-64. 也尝试过amd64x64但也没有用。

命令基本上是objdump -b binary -D -m ??? file

4

2 回答 2

26

像往常一样写下这个问题已经给了你一些相当好的想法还有什么可以尝试的..

无论如何,正确的机器架构是:i386:x86-64.

完整的命令是:

objdump -b binary -D -m i386:x86-64 <file>

如果要反汇编期望在特定地址加载的代码,可以添加--adjust-vma <load-address>标志。

于 2013-09-28T20:48:57.270 回答
-1

使用gcc 中的 objdump,如下所示。

objdump -z -M intel -d test.o
于 2018-05-29T15:57:50.527 回答