最近看了0day和The shellcoder's handbook,对栈溢出有了些了解。并且对书上的实验也自己做了些。自己动手才真正把看到的知识变成自己的。

  今天在看handbook的时候,按照书上的代码来时间操作,发现实现不聊,百思不得其解,最后自己用ollydbg分析了下,把它改了改,顺利的跑了起来,达到了自己的目的。

很是高兴。凡事还是要多琢磨,多去研究,总会得到些意想不到的东西。

  下面是我改的,是修改返回地址使程序不断的循环。首先要通过ollydbg查看函数return_input的返回地址为:0x00401098,然后就往数组里面填这个数。当然也要先计算好它们在内存中的位置,然后去确定使返回地址刚刚为0x99401098,这样就会使得程序不断的循环。对于没学过栈溢出的人,会纳闷为什么这个程序没有报错,溢出了。呵呵,但是却没有,是不是很神奇的样子,嘻嘻~ 其实我也是刚刚入门的,自己弄来玩玩而已。当然,参数i的放置的位置也很重要,开始我把它放置在数组的前面,程序也没有报错,而是正常退出了,后来用ollydbg查看了下,原来当把缓存区填满之后,下一个0x00401098也会把i的值也改变了。这是的i肯定比36大,所以正常退出了。后来把i放在数组的后面,成功了。不错不错,哈哈。

  

#include <stdio.h>void return_input(void){char array[30];int i = 0;for (i=0; i<=36; i+=4){*(long *)&array[i] = 0x00401098;}//printf("hahahaha.\n");
}
int main()
{return_input();return 0;
}

对了,今天偷懒了。。。下午睡懒觉,没去上班。。所以没把linux下得socket编程深入的去学习。改天吧,这个估计得学习好几天呢。

转载于:https://www.cnblogs.com/Jason-Damon/archive/2013/04/10/3013133.html

shellcode之简单的栈溢出实验相关推荐

  1. 简单的eda实验vga在linux系统中,EDA实验报告-VGA彩条显示.doc

    VGA彩条信号显示控制 一.实验目的: 1. 熟练掌握 Verilog HDL语言和QuartusII 软件的使用: 2. 理解状态机的工作原理和设计方法: 3. 熟悉 VGA 接口协议规范. 4.通 ...

  2. 简单的eda实验vga在linux系统中,《EDA实验报告VGA彩条显示.doc

    <EDA实验报告VGA彩条显示 VGA彩条信号显示控制 一.实验目的: 1. 熟练掌握 Verilog HDL语言和QuartusII 软件的使用: 2. 理解状态机的工作原理和设计方法: 3. ...

  3. Java设计模式之简单工厂模式实验(软件工程综合实践课程第二周)

    实验目的 1 .理解软件设计的相关理论 : 2 .理解面向对象设计原则: 实验内容 1 .简单工厂模式实验: (1) 参考讲义上的代码,利用简单工厂模式完成计算器应用程序: (2) 画出计算器程序简单 ...

  4. Lab01: Logisim简单数字电路模拟实验

                              Lab01: Logisim简单数字电路模拟实验 一.实验目的: (1)理解计算机硬件如何表示.存储和控制数据: (2)解决复杂系统或问题时使用抽象 ...

  5. 多思计组实验实验七 简单模型机实验

    实验七 简单模型机实验 一.实验目的 通过总线将微程序控制器与运算器.存储器等联机,组成一台模型计算机. 用微程序控制器控制模型机数据通路,运行由4条机器指令组成的简单程序. 掌握微指令与机器指令的关 ...

  6. 简易模型计算机性能分析报告,计算机组成原理 实验八 简单模型计算机实验解析.doc...

    实验八 简单模型计算机实验 实验目的 通过实验分析简单模型机结构,了解计算机的工作原理. 掌握计算机微程序控制器的控制方法,掌握计算机指令执行过程 实验原理 基本整机模型数据框图如图所示,计算机数据通 ...

  7. 计算机组成实验八,计算机组成原理 实验八 简单模型计算机实验.doc

    文档介绍: 实验八简单模型计算机实验实验目的通过实验分析简单模型机结构,了解计算机的工作原理.掌握计算机微程序控制器的控制方法,掌握计算机指令执行过程实验原理基本整机模型数据框图如图所示,计算机数据通 ...

  8. 计算机组成原理简单模型机实验,计算机组成原理简单模型机实验.doc

    计算机组成原理简单模型机实验 实验四 简单模型机实验 1.1实验目的 1)将微程序控制器模块通过总线同运算器模块.存储器模块联机,组成一台模型计算机: 2)用微程序控制器控制模型机数据通路: 3)通过 ...

  9. 简单Profibus/DP实验系统的组建

    简单Profibus/DP实验系统的组建 Writed by 远方 DND-DeviceNet 引言: 为了让更多刚接触到Profibus系统的朋友能对Profibus的网络架构及系统运行机制有一个整 ...

  10. 计算机组成原理简单模型机实验,计算机组成原理简单模型机实验

    实验四 简单模型机实验 1.1实验目的 1)将微程序控制器模块通过总线同运算器模块.存储器模块联机,组成一台模型计算机: 2)用微程序控制器控制模型机数据通路: 3)通过CPU运行5条机器指令组成的简 ...

最新文章

  1. billibilli html5播放,Thousands of people online are involved in ef...
  2. AT24C0X I2C通信原理
  3. Canny边缘检测算法
  4. 《网络工程师考试 考前冲刺预测卷及考点解析》复习重点
  5. top 100 liked Q (26-)
  6. 切分窗体:MFC界面设计
  7. FANUC机器人_KAREL编程入门(2)_通用IO信号的使用方法
  8. easyExcel实现excel文件上传和下载
  9. stm32程序flash下载和sram运行
  10. Alexa 世界排名推进工具--阿雷克斯(转)
  11. 组合数学 | 递推关系和母函数
  12. npm安装任何包都报错解决方法
  13. 美丽离岛兰屿印象图集
  14. 通过Java实现求水仙花数
  15. Java第三十三天,IO操作(续集),字符转换流
  16. 初学Java常用设计模式之——工厂模式
  17. oss回调异常 Private address is forbidden to callback, 502,404(400/403)
  18. 信息学奥赛一本通T1453:移动玩具
  19. 教你代码实现抢红包功能
  20. 如何添加在线QQ咨询?

热门文章

  1. idea64.exe.vmoptions 参数意义
  2. 构建自定义的同步工具
  3. Mysql创建存储过程,使用游标Cursor循环更新
  4. servlet之监听器
  5. SpringCloud整合Feign配置类之间的关系以及feign配置隔离的实现
  6. Web API 方法的返回类型、格式器、过滤器
  7. Nginx+Tomcat web站(Linux)   动静站分离
  8. iptables命令结构之匹配扩展
  9. 分析网站速度和性能的最佳工具
  10. 读取wav文件中的音频数据操作