1 在栈帧中 修改函数调用地址 使得程序运行 跳转到 自己指定的函数 而原程序的作者完全不知道这段程序的执行中已经执行了别人的代码【可能是恶意的】

程序运行 栈帧分析 以及 修改栈帧中数据以及函数地址_Linux

程序运行 栈帧分析 以及 修改栈帧中数据以及函数地址_Linux_02

2 修改栈帧中的变量的值 不通过变量名

如 修改变量b的值 不通过变量b的名称 【这需要对变量在栈帧中的分布有一定的了解 】

程序运行 栈帧分析 以及 修改栈帧中数据以及函数地址_Linux_03

程序运行 栈帧分析 以及 修改栈帧中数据以及函数地址_Linux_04

压栈是 a先压栈 b后压栈 压栈时 栈顶向低地址方向前进 

变量a在变量b的上面

变量a的地址 0xbfa92d88

变量b的地址 0xbfa92d84