首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >objdump和xxd之间的差异

objdump和xxd之间的差异
EN

Stack Overflow用户
提问于 2016-12-19 17:25:03
回答 1查看 3.7K关注 0票数 0

我试图在二进制文件中找到一个调用函数,所以我尝试了如下:

  1. 编译我的代码(用C语言)
  2. 使用以下命令:mips-mti-linux-gnu-objdump -d myapp.elf> objdump.txt
  3. 我在objdump.txt文件中的函数:9d003350: 42000828 myfunction 0x1

现在,我想在从内存中读取这个函数时,在myapp.bin中识别这个函数。但是,我明白了:28080042

我试着使用命令:xxd -ps myapp.bin> xxd.txt可以找到:28080042

有可能这样做吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-12-19 18:45:03

这是一个痴呆症冲突。objdumpxxd给出了相同的字节,它们只是使用不同的endianness。

代码语言:javascript
复制
Actual bytes in order:
    28 08 00 42
Big endian value:
    28 08 00 42
Little endian value:
    42 00 08 28

xxd -p将按其存在的顺序打印出文件中的各个字节。

objdump正在拆解它,它知道字节属于4组,并将它们解释为小endian。

xxd可以使用-e标志(默认分组为4个字节,使用-g标志来更改每个组的字节数)按小端点顺序打印。但是,这与-p标志不兼容,因为-p标志忽略任何分组。

objdump可以使用-EB标志按大端顺序打印,但这将影响它报告的指令。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41227875

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档