0%

5-堆栈图

堆栈图

CC是int 3,防止缓冲区溢出,CPU会断下

堆栈图1

单层函数的堆栈调用图

函数

函数的概念

函数入口

还可以通过寄存器传参

windows堆栈

  1. 先进后出
  2. 向低地址扩展

什么是堆栈平衡: 简单的说就是还原现场

问: cmp ebp,esp后,如果ebp!=esp是否可以跳转

答: 可以,因为z标志位改了就行

堆栈图练习2

带子函数的堆栈调用图

堆栈图练习3

粗略看了下,是个多层加法计算

第一层 7,6,5,4,3

第二层: int num1=2,num2=3; 子函数传入参数6,5,4,3,计算结果为num1+num2+ 子函数计算结果+7

第三层:int num1=2, 子函数传入参数5,4,3 计算结果为 num1+ 子函数计算结果+6

第四层: 返回5+4+3

所以整体为: 5+4+3+6+2+7+2+3=32

至于堆栈图,不画了,我有点基础,大概懂这些了

本文作者:NoOne
本文地址https://noonegroup.xyz/posts/30a104fe/
版权声明:转载请注明出处!