从Objdump了解反汇编二进制文件 - 输出

时间:2018-01-31 22:08:41

标签: binaryfiles disassembly objdump

当我使用命令“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(来自第二行代码)

1 个答案:

答案 0 :(得分:2)

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

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

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