手写一个栈溢出程序(深入版)
2015-06-01 14:24
190 查看
上一篇文章里写到了一个C语言写的栈溢出程序,通过上一篇文档的内容,找到了溢出的位置,现在便在原来的基础上实现自己代码的写入,实现效果如下图:
载入OD,来到上一篇文章的溢出位置,如图所示:
,
现在我们可以构造文本文档的内容,使其覆盖掉返回地址,覆盖成为我们需要的地址。
首先通过OD找到printf()函数的汇编调用方式,本机为call 00401470,
1.用OD找到一块空的内存区域,加入字符串Helloworld。
0042BFF0
2.用OD找到一块空的代码段加入如下代码,如图所示:
记录植入代码的地址,00423FA0,构造key文件,使其覆盖掉返回值,
,运行成功效果如图:
载入OD,来到上一篇文章的溢出位置,如图所示:
,
现在我们可以构造文本文档的内容,使其覆盖掉返回地址,覆盖成为我们需要的地址。
首先通过OD找到printf()函数的汇编调用方式,本机为call 00401470,
1.用OD找到一块空的内存区域,加入字符串Helloworld。
0042BFF0
2.用OD找到一块空的代码段加入如下代码,如图所示:
记录植入代码的地址,00423FA0,构造key文件,使其覆盖掉返回值,
,运行成功效果如图:
相关文章推荐
- Android退出应用程序
- 从最大似然到EM算法浅解
- (9) 如何用Apache POI操作Excel文件-----应用条件样式(ConditionalFormatting)
- 跨站点脚本编制实例(AppScan扫描结果)
- <转帖>GitHub上值得关注的iOS开源项目
- Redis3.0.1 Stable版本的集群部署(Mac)
- spring-boot 配置多数据源多orm框架混用
- 构造器
- AMD 和 CMD 的区别有哪些?
- SoapUI 使用教程链接
- 自定义View—实现滚动TextView(跑马灯)效果
- 二分 Convert Sorted Array to Binary Search Tree
- Linux下安装SVN客户端
- Git 学习笔记
- zookeeper 原理
- 用 C 语言编写 Windows 服务程序的五个步骤 .
- sql server:float转换成nvarchar
- 文件增量备份工具
- UILabel的使用
- JSPatch