zoukankan      html  css  js  c++  java
  • pwn之偏移量offset

    0x01:偏移量

    0x7fffffffdd00: 0x4141414141414141 0x4141414141414141 0x7fffffffdd10: 0x4141414141414141 0x4141414141414141 0x7fffffffdd20: 0x4141414141414141 0x00007fffffffe1cd 'A'*40 + 'xcdxe1xffxffxffx7f' 经常在payload中看到如上的形式,很是纳闷,现在来说明一下。 先明确一下字节(byte)为8位,为了减少信息的长度,用十六进制表示,学过C语言的朋友都知道'A'的ASLL码为65,转化为十六进制为41 数据在内存中的存放方式: 举一个例子,比如数字0x12 34 56 78在内存中的表示形式为:

    1)大端模式:

    低地址 -----------------> 高地址
    0x12 | 0x34 | 0x56 | 0x78

    2)小端模式:

    低地址 ------------------> 高地址
    0x78 | 0x56 | 0x34 | 0x12

    0x02:区别

    EBP存储着当前栈帧的栈底的地址,通常作为基址,通过ebp和偏移相加减来获取变量地址。而esp始终指向栈顶,随栈内数据增加或减少而变化。而IDA是静态调试,计算出来的偏移跟动态调试是有区别的。

  • 相关阅读:
    安全性
    黄保翕的书总结
    Week14(12月11日):路由
    Week14(12月9日)
    Week13(12月5日):不怕错误,慢慢来 :)
    必会技能
    eclipse建maven pom报错
    查看Linux连接数
    查mysql字段中的数字记录
    清理c盘检查
  • 原文地址:https://www.cnblogs.com/zuoanfengxi/p/12258662.html
Copyright © 2011-2022 走看看