Call Stack简介
2010-11-04 08:44:04 来源:WEB开发网核心提示:Epilogue POP EDI 恢复寄存器的原址 POP ESI
Epilogue
POP EDI |
恢复寄存器的原址 |
POP ESI |
|
POP EBX |
|
ADD ESP, 0CH |
清理栈 |
MOV ESP,EBP |
恢复栈地址 |
POP EBP |
恢复Frame Pointer地址 |
栈的变化
01031440 push ebp
执行前:ESP = 003FFD50。执行后:EIP = 01031441 ESP = 003FFD4C
我们可以看到,在入栈操作后,ESP减少了4,即我们开始提到的,栈的空间是高地址向低地址增长的。EIP的始终指向当前要执行的代码的地址。
继续按F10,一直走到下面这行:
此时,ESP = 002AF954
在Memory窗口,输入@esp,然后回车
在灰色光标闪烁的地方,就是当前的栈顶,里面的值为0。按F10,此时代码进行到下一行:
更多精彩
赞助商链接