【问题标题】:Understanding disassembled binary from Objdump - What are the fields from the output从 Objdump 了解反汇编的二进制文件 - 输出中的字段是什么
【发布时间】:2018-01-31 22:08:41
【问题描述】:

当我使用命令“arm-linux-gnueabihf-objdump -d a.out”反汇编一个简单的 ARM 二进制文件时,得到以下输出

00008480 <_start>:
8480:   f04f 0b00   mov.w   fp, #0
8484:   f04f 0e00   mov.w   lr, #0
8488:   bc02        pop {r1}
848a:   466a        mov r2, sp

不同的列在这里代表什么?例如 8480 和 f04f 0b00(来自第 2 行代码)

【问题讨论】:

    标签: binaryfiles disassembly objdump


    【解决方案1】:

    第一列是代码在内存中的地址。 0x8480 表示这段代码的内存地址是0x8480

    第二列是代码的十六进制表示。 f04f 0b00表示从内存地址0x8480(包含)到0x8484(排除),有4个字节的代码,f04f0b00

    剩下的是反汇编代码。它们是从第二列的代码中反汇编出来的。

    【讨论】:

      猜你喜欢
      • 2012-12-26
      • 2020-01-01
      • 1970-01-01
      • 2020-07-09
      • 1970-01-01
      • 2010-10-30
      • 2017-08-25
      • 1970-01-01
      相关资源
      最近更新 更多