我被告知要使用反汇编程序.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

Linux相关问答推荐

C++调试器如何知道如何在源代码和可执行文件之间映射行?

如何添加Linux格式的时间输出

使用 grep 时如何跳过第一行和最后一行?

在 bash 中解析变量

如何在守护进程中使用 popen() 和 pclose() 获取通过管道执行的 shell 命令的正确退出代码?

使用 awk 将 csv 拆分为带有标题的多个文件

我应该如何从非 root Debian Linux 守护进程登录?

在三星 chromebook 上编程

如何使用多个版本的 GCC

使用正则表达式时,Shell 'tar: not found in archive' 错误

如何将文件从 Vagrant 机器复制到 localhost

如何像 Nautilus 那样从命令行挂载?

让 Tk 看起来像一个原生 Linux 应用程序

你如何在 C 中的 Linux 上进行非阻塞控制台 I/O?

如何知道linux调度器时间片?

Anaconda:禁用提示更改

cat、grep 和 cut - 翻译成 python

卸载从源代码构建的python?

在不运行测试的情况下制作(从源代码安装)python

如何在没有 root 用户的情况下在 Linux (CentOS) 中安装软件包并进行自动依赖处理?