在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
阮一峰的网络日志

参与评论 您还未登录,请先 登录 后发表或查看评论

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页

打赏作者

酸酸菜鱼

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值