缓冲区溢出视频中的jmp *%esp

时间:2014-10-06 03:43:12

标签: c assembly buffer-overflow

刚刚开始了解缓冲区溢出攻击,并对我看到https://www.youtube.com/watch?v=EcMCiFwHnjE/的视频中的某些内容提出了疑问。在视频中,为什么这个人会写jmpesp()函数(~1:38)?该函数永远不会在main中调用,所以它如何出现在objdump(~3:15)?另外jmp *%esp的意义是什么?

1 个答案:

答案 0 :(得分:0)

jmp *%esp表示跳转(设置指令指针)到%esp寄存器指向的位置,该寄存器是指向堆栈顶部的指针。因此,堆栈上推送的最新(通常是数据)内容将作为代码执行。