关于hexdump工具-x/-C选项字节顺序及地址对应关系的疑问
关于hexdump输出的字节顺序与地址对应问题
1. -x选项每组右侧字节的地址对应
使用hexdump -x时,输出以双字节(16位)为单位,且采用小端序显示:每组的右侧字节对应低地址,左侧字节对应高地址。
以你的输出为例:
$hexdump -x a.out 0000000 652f 6374 702f 7361 7773 0a64
第一组652f对应的实际内存中,低地址(0x0000000)存储2f,高地址(0x0000001)存储65,和-C选项的前两个字节完全对应。
2. 地址假设的正确性
你的假设完全正确:2f对应地址0000000,65对应0000001,74对应0000002……以此类推。
hexdump -C选项是按字节从低地址到高地址的顺序直接输出,每一个字节对应递增的内存地址,和你对地址的假设完全匹配。对比-x和-C的输出可以验证:
-C中地址0-1的2f 65对应-x的652f(小端序反转)-C中地址2-3的74 63对应-x的6374- 后续所有字节组都遵循这个对应关系
内容的提问来源于stack exchange,提问作者chen zhang
相关产品推荐
相关产品推荐

