之前的课程里面我们已经讲过了:
1.什么是函数
2.什么是参数
3.通过寄存器或者栈传递把参数传递给函数
4.平衡栈
一个复杂的函数内部往往会用到栈,而ESP是存储的栈顶的值,栈顶会随着放入数据而发生改变,所以定位参数不太方便.
push 0x1
push 0x2
push 0x3
call
函数
push ecx
push edx
push
ebx
为什么要把这三个寄存器存起来呢?因为函数执行的时候,我们假设要用到这三个寄存器.
等函数运行完成之后,再把这三个寄存器的数据还原.
之前的课程里面我们已经讲过了:
1.什么是函数
2.什么是参数
3.通过寄存器或者栈传递把参数传递给函数
4.平衡栈
一个复杂的函数内部往往会用到栈,而ESP是存储的栈顶的值,栈顶会随着放入数据而发生改变,所以定位参数不太方便.
push 0x1
push 0x2
push 0x3
call
函数
push ecx
push edx
push
ebx
为什么要把这三个寄存器存起来呢?因为函数执行的时候,我们假设要用到这三个寄存器.
等函数运行完成之后,再把这三个寄存器的数据还原.