当前位置: 首页 > 面试题库 >

如何在Linux中反汇编二进制可执行文件以获取汇编代码?

曹普松
2023-03-14
问题内容

有人告诉我要使用反汇编程序。是否gcc有任何内置的?最简单的方法是什么?


问题答案:

我认为没有gcc标志,因为它主要是编译器,但是另一个GNU开发工具可以。objdump带有-d/ --disassemble标志:

$ objdump -d /path/to/binary

反汇编如下所示:

080483b4 <main>:
 80483b4:   8d 4c 24 04             lea    0x4(%esp),%ecx
 80483b8:   83 e4 f0                and    $0xfffffff0,%esp
 80483bb:   ff 71 fc                pushl  -0x4(%ecx)
 80483be:   55                      push   %ebp
 80483bf:   89 e5                   mov    %esp,%ebp
 80483c1:   51                      push   %ecx
 80483c2:   b8 00 00 00 00          mov    $0x0,%eax
 80483c7:   59                      pop    %ecx
 80483c8:   5d                      pop    %ebp
 80483c9:   8d 61 fc                lea    -0x4(%ecx),%esp
 80483cc:   c3                      ret    
 80483cd:   90                      nop
 80483ce:   90                      nop
 80483cf:   90                      nop


 类似资料:
  • 问题内容: 无论如何,这可以做到吗?我使用过objdump,但是不会产生我所知道的任何汇编程序都会接受的汇编输出。我希望能够在可执行文件中更改指令,然后再对其进行测试。 问题答案: 我认为没有任何可靠的方法可以做到这一点。机器代码格式非常复杂,比汇编文件更复杂。实际上不可能采用已编译的二进制文件(例如ELF格式)并生成可汇编为相同(或相似程度)二进制文件的源汇编程序。为了了解它们之间的差异,请将直

  • 问题内容: 为了运行MIPS汇编程序,x86 linux周围是否有任何命令行解释器或任何其他程序集? 我希望能够编写简单的MIPS汇编程序并从本地计算机上的控制台运行它们。 我知道SPIM,但是它 需要X Windows ,我很好奇是否有更好的选择。 编辑:事实证明它不需要X Windows。我仍然对SPIM有问题。我的拙见不是最好的。Qemu / Cross编译的工具链需要更多工作,但我的怪癖却

  • (gdb) set disassemble-next-line on (gdb) start The program being debugged has been started already. Start it from the beginning? (y or n) y Temporary breakpoint 3 at 0x400543: file 1.c, line 14. Star

  • 问题内容: 是否有任何Linux程序可以反汇编OSX通用x86 / x86_64胖Mach-O二进制文件,如objdump?GNU binutils的objdump支持ELF和Windows PE文件,但不支持Mach-O。 问题答案: AFAIK,本地的Darwin二进制工具是cctools软件包的一部分。它们没有与GNU binutils 相同的命令行语法或输出。但是后来的binutils(即

  • 问题内容: 如何编译为汇编而不是gcc可执行文件。我知道有一个 -S 标志,但是我在makefile中的哪里使用它。例如,如果我使用标志 -O3 -o exe_name ,则应将-S标志放在哪里? 问题答案: 我建议也使用它,因为生成的汇编器具有一些生成的注释,可以“解释”代码。例如: 将在(带有一些注释)中生成通过编译生成的汇编代码 要了解GCC优化正在做什么,甚至可以尝试(但这会产生 数百个

  • 说实话绝影就等着张厂长把他的研究成果公布出来,这样才能当场找出其中的纰漏并当场将他驳回。你想我绝影做到这里能弄出个反汇编器来,已经是突破性进展了,张厂长还能比我牛? 于是他平静地说:"说来听听,看看你有啥好法子。" 张厂长哪里知道绝影心里的算盘,他还是和平时一样一本正经严肃认真一丝不苟地说道:"这几天我去他们车间调研了,其实开始我们都想复杂了。他们的芯片和主机通过穿口通信,类似于一问一答……" "