gpt4 book ai didi

objdump - 为什么 objdump 中缺少信息?

转载 作者:行者123 更新时间:2023-12-02 16:54:48 38 4
gpt4 key购买 nike

当我运行 objdump 时,我无法找出为什么我的汇编代码中有时会缺少一些 .words。一行中单独的“...”代表什么?

最佳答案

在 -d 或 -D(反汇编)的 objdump 输出内部,通常会有多个仅包含省略号的行实例。这只是因为上面和下面字节之间的所有字节都是空(0x00)。

下面是反汇编的 32 位程序的输出。偏移量00234(+4)和00240之间都是可执行文件内部的0x00。

40022c: 00000034    0x34
400230: 0000016a 0x16a
400234: 000001ac 0x1ac
...
400240: 00000098 0x98
400244: 00000000 nop
400248: 000000a9 0xa9
...
400254: 000000cf 0xcf

查看我们反汇编的应用程序,您可以看到省略号出现的地方都是空字节。多次向用户输出这些内容是没有意义的,因此 objdump 只是删除它们。粗体文本是省略号出现的地方。我还应该注意,如果只有一个空字节部分(32/64 位),objdump 会将其显示为 nop 或类似的内容,具体取决于机器。

Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F00000220                                      34 00 00 00              4...00000230  6A 01 00 00 AC 01 00 00 00 00 00 00 00 00 00 00  j...¬...........00000240  98 00 00 00 00 00 00 00 A9 00 00 00 00 00 00 00  ˜.......©.......00000250  00 00 00 00 CF 00 00 00                          ....Ï...

关于objdump - 为什么 objdump 中缺少信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21020527/

38 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com