栈帧图修改
2015-10-19 18:52:01 1 举报
栈帧图是一种用于描述程序运行时内存布局的图形表示方法。它展示了函数调用过程中,栈帧在内存中的分配和变化情况。栈帧图通常包括以下几个部分: 1. 栈底:指向栈空间的底部,随着函数调用的嵌套,栈底地址逐渐减小。 2. 函数参数和局部变量:位于栈顶附近,随着函数调用的结束而被销毁。 3. 返回地址:指向调用该函数的下一条指令,当函数执行完毕时,程序会跳转到该地址继续执行。 4. 保存寄存器:用于保存函数调用过程中需要保持的值,如EBP、ESP等。
作者其他创作
大纲/内容
2:push ebp
EBP 0019FF80
ECX:1-2-EAX:1
EDI
15:pop edi
0019FEF8
0019FEF0
16:pop esi
26:pop edi
0019FEED8
9:call @ILT+15(swap1)(00401014)
temp:1
17:pop ebx
.....
0xcccccccc0xcccccccc.....0xcccccccc0xcccccccc
EAX:2-1-EDX:2
0019FEEDC
ESI
2
EBP:0019FF40
0019FEF4
28:pop ebx
0019FE98
0019FF40
24:push offset string \"after .....\"
EBX
20:ret
0019FEEC
0019FE90
23:push eax
12:push ebx
4:push ebx
0019FF3C
14:0019FE8C
0019FEE4
0019FEE8
14:push edi
7:push eax
ESP
值
0019FE94
地址
6:push edi
22:push edx
5:push esi
0019FEE0
0019FE8C
call printf-ret
13:push esi
EBP: a:0019FF80 - b:0019FF40 -c:0019FEDC -d:0019FF40-e:0019FF80
涉及到ESP和EBP值变化的汇编指令
0019FEED4
1
Return addr
10:push ebp
0019FF28
27:pop esi
8:push ecx
0 条评论
下一页