刚开始学习缓冲区溢出攻击,并对我看到的视频中的某些内容提出了问题。在视频中,为什么这个人写jmpesp()
函数(~1:38)?函数在main中的任何地方都不会被调用,所以它在objdump
(~3:15)上是如何显示的?还有jmp *%esp
的意义是什么?
最佳答案
jmp *%esp
表示跳转(设置指令指针)到%esp
寄存器指向的位置,该寄存器是指向堆栈顶部的指针。因此,推送到堆栈上的最新(通常是数据)内容将作为代码执行。
关于c - 缓冲区溢出视频中的jmp *%esp,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26209761/