我正在尝试访问NOP底座以执行Shell代码(缓冲区溢出练习)。我可以访问4字节的RET地址。我需要知道溢出时将其覆盖的值。
我已经使用x/1000xb $esp
从我当前在使用GDB的断点处的函数中查看了很多内存。
我已经用NOP(\ x90s)填充了缓冲区。我需要填写RET地址作为缓冲区开始的位置(据我了解)。我对此内存的工作方式有些困惑,因为似乎有8个字节的块,然后是2个块,然后是8个块,然后重复。
看第三行,我看到我的NOP从哪里开始。我将第一个字节解释为0xbfffe910的地址,并一直计数到0x90的起始位置,在我看来,它看起来像是0xbfffe914。
但是,当我输入此地址(小尾数)时,代码不起作用。我不确定输入的RET地址是否错误。另外,我不明白为什么有些行看起来只有2个字节,却显示8个值...请帮助!