4.3 修改返回地址
4.3.1 返回地址和流程
上节实验介绍改写邻接变量思路方法是很有用但这种498)this.style.width=498;" border=0>
图4.3.4 溢出后返回到无效地址0x00323334
我们可以从调试器中显示看出计算机中发生事件
(1)返回时将返回地址装入EIP寄存器
(2)处理器按照EIP寄存器地址0x00323334取指
(3)内存0x00323334处并没有合法指令处理器不知道该如何处理报错
由于0x00323334是个无效指令地址所以处理器在取指时候发生了使崩溃但如果这里我们给出个有效指令地址就可以让处理器跳转到任意指令区去执行(比如直接跳转到验证通过部分)也就是说我们可以通过淹没返回地址而控制执行流程以上就是通过淹没栈帧状态值控制流程原理也是本节实验要做事
最新评论