框表示栈或是寄存器(编辑修改稿)内容摘要:

. . esp 0x12FFC0 0x12FF80 0xCCCCCC 0x12FF40 . . . ebx 0x12FF3C esi 0x12FF38 edi 0x12FF34 edi 0x5A 0x12FF30 0x0A 0x12FF2C 0x401091 0x12FF28 0x12FF80 0x12FF24 0x12FEE4 . . . ebx esi edi 10: a = a + 3。 //ebp=0x12FF24 加 8 [0x12FF30]即取到了参数 10 mov eax,dword ptr [ebp+8] add eax,3 mov dword ptr [ebp+8],eax 11: b = b + 5。 mov ecx,dword ptr [ebp+0Ch] add ecx,5 mov dword ptr [ebp+0Ch],ecx 12: return a + b。 mov eax,dword ptr [ebp+8] //最后的结果保存在 eax, 结果得以返回 add eax,dword ptr [ebp+0Ch] ebp 0x12FF24 0x12FFC0 . . . esp 0x12FFC0 0x12FF80 0xCCCCCC 0x12FF40 . . . ebx 0x12FF3C esi 0x12FF38 edi 0x12FF34 eax 0x0A 0x5A 0x12FF30 0x0A 0x12FF2C 0x401091 0x12FF28 0x12FF80 0x12FF24 0x12FEE4 . . . ebx esi edi ecx 0x5A 最终值 开始回溯 pop edi pop esi pop ebx ebp 0x12FF24 0x12FFC0 . . . esp 0x12FFC0 0x12FF80 0xCCCCCC 0x12FF40 . . . ebx 0x12FF3C esi 0x12FF38 edi 0x12FF34 eax 0x0A 0x5A 0x12FF30 0x0A 0x12FF2C 0x401091 0x12FF28 0x12FF80 0x12FF24 0x12FEE4 . . . ecx 0x5A 最终值 mov esp,ebp //esp指向 0x12FF24, test函数的堆栈空间被放弃 , 从 当前函数栈顶返回到栈底 ebp 0x12FF24 0x12FF。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。