分析栈的缺点

之前的课程里面我们已经讲过了:
1.什么是函数
2.什么是参数
3.通过寄存器或者栈传递把参数传递给函数
4.平衡栈


一个复杂的函数内部往往会用到栈,而ESP是存储的栈顶的值,栈顶会随着放入数据而发生改变,所以定位参数不太方便.

push 0x1
push 0x2
push 0x3
call 函数


push ecx
push edx
push ebx

为什么要把这三个寄存器存起来呢?因为函数执行的时候,我们假设要用到这三个寄存器.
等函数运行完成之后,再把这三个寄存器的数据还原.

原文地址:https://www.cnblogs.com/xiaodaxiaonao/p/7341529.html