leave <==> mov esp,ebp ; pop ebp; ret <==> pop eip;
将存储当前栈底地址的寄存器epb的值赋值给esp 然后将栈内栈顶的数值赋值给ebp, 再将下一个数值赋值给eip
俺们是如何利用的呢? 最常用的方式就是去puse压栈,改变栈顶和栈顶-1的内容去改变ebp寄存器,也就是迁移栈底。
参考资料