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

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

wKiom1dW5JjRsJvuAAK_9z6U8jc656.jpg

wKioL1dW5iCASVSgAAE9r8xnX1o342.png

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

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

wKioL1dW5wvi3IDBAAAueGMRFSQ131.png

wKiom1dW5gTTYk7eAAAWjRm9Sjw777.png

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

变量a在变量b的上面

变量a的地址 0xbfa92d88

变量b的地址 0xbfa92d84

本文出自 “城市猎人” 博客,请务必保留此出处http://alick.blog.51cto.com/10786574/1787145

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值