盾怪网教程:是一个免费提供流行杀毒软件教程、在线学习分享的学习平台!

编写自己的缓冲区溢出使用程序

时间:2024/10/30作者:未知来源:盾怪网教程人气:

[摘要](内存低址) 再看看下面的四条指令. 0x8048406 <vulFunc+6>: mov 0x8(%ebp),%eax ; 把ebp+8指向的内存单元(4字节)里 ; 的内容赋给eax...
 
(内存低址) 

再看看下面的四条指令. 
0x8048406 <vulFunc+6>: mov 0x8(%ebp),%eax ; 把ebp+8指向的内存单元(4字节)里 
; 的内容赋给eax. 
从上图看出vulFunc函数栈帧的ebp+8四字节内存单元里放的是指向"AAAAAAAA"字符串的起始地址. 

0x8048409 <vulFunc+9>: push %eax ; eax的值入栈. 
把指向"AAAAAAAA"字符串的起始地址入栈. 

0x804840a <vulFunc+10>: lea 0xfffffff4(%ebp),%eax 
哇! 好吓人呀! 这条指令是干什么的? 让我们慢慢来分析一下. 
这条指令是把ebp+0xfffffff4做为地址值赋给eax. 
但是ebp的值加上0xfffffff4指向那里呀, 这是我们要弄清楚的. 
这里如果我们按正数来加, 那是不行的. 
实际上这个十六进制的0xfffffff4所表示的是负数, 要知道它的值, 让我们来算一下. 

F F F F F F F 4 
+----+----+----+----+----+----+----+----+ 

关键词:编写自己的缓冲区溢出运用程序




Copyright © 2012-2018 盾怪网教程(http://www.dunguai.com) .All Rights Reserved 网站地图 友情链接

免责声明:本站资源均来自互联网收集 如有侵犯到您利益的地方请及时联系管理删除,敬请见谅!

QQ:1006262270   邮箱:kfyvi376850063@126.com   手机版