在CTF中的小端序与大端序

大,人类为大。所以这是符合人的思维的。即高地址放数据低位
eg:地址从低到高的表示方式:[12][34]
12是低地址,但是为了人方便看,把数据的高位放在了低地址,这样子看起来的顺序还是 1234。方便看。
小端序:是为了计算机效率的。即高地址放数据高位。高高低低。
之前我走进了一个误区:将数组也当作字节序。其实不然。这里感谢师傅的提醒。

eg:设置int data = 0x1234
在这里,会受到字节序的影响,所以在CTF中,在调试工具中看到该数据,可能会因为字节序的不同,而要把数据进行一个位置的调整。
比如在intel架构OD中看到的3412。其实这是指的1234这么个数据。
这是会受到字节序影响的内容。
!这是一个变量!
但是数组[1,2,3,4]这么一个数组,并不会受到字节序的影响。它的排序无论大端序还是小端序都是一样的。!

之前的误区导致对字节序过了很多遍没发现问题。
谨记

http://www.ruanyifeng.com/blog/2016/11/byte-order.html
阮一峰的网络日志

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值