字节序问题

1.字节序:

字节序指数据在内存中储存的方式,决定了数据在内存中的排序位置

2.大端序与小端序

大端序:

  • 定义:高位字节存在低地址,低位字节存在高地址。
  • 示例0x12345678 在内存中的存储顺序为:0x12(低地址)→ 0x340x560x78(高地址
  • 特点:符合人类从左到右的阅读习惯,常用于网络传输、文件格式(如BMP图片

小端序:

  • 定义:低位字节存在低地址,高位字节存在高地址。
  • 示例0x12345678 存储顺序为:0x78(低地址)→ 0x560x340x12(高地址)
  • 特点:计算机处理效率更高(CPU直接读取低位计算),x86、ARM等常见处理器默认采用小端
  • 在IDA中一般以xmmword为前缀

3.网络序与主机序:

网络序:

  • 定义:网络传输中统一使用的字节序,规定为大端模式
  • 用途:确保不同设备(如手机和电脑)通信时数据解析一致。例如TCP/IP协议、HTTP协议均采用大端

主机序:

:当前设备内存中实际的字节序,可能是大端或小端,取决于CPU架构:

  • 大端主机:PowerPC、SPARC处理器。
  • 小端主机:x86、ARM处理器
posted @ 2025-03-21 10:24  漫宿骄盛  阅读(99)  评论(0)    收藏  举报