码迷,mamicode.com
首页 > 其他好文 > 详细

修改临接变量

时间:2015-12-01 13:00:39      阅读:384      评论:0      收藏:0      [点我收藏+]

标签:修改临接变量

在内存中,地址是上低下高,利用内存时是从内存高位开始利用。但在已经定义了的内存小块内存中,内存却是从上到下(即从低址向高址)利用。

在完成实验的过程中,要注意地址的情况,内存数据与数值数据是不同的。在数值数据中,我们从左到右读,但在内存数据中,它是从右到左两个一读。比如数值数据0x12345678,转变为内存数据就是0x78563412

这个实验实际上就是巧用字符串截断符null

在实验中要弄清楚地址,地址一搞通,实验就差不多完成了

 技术分享

                            

栈帧布局:技术分享

覆盖邻接变量:技术分享

修改邻接变量成功:

技术分享

在这个实验中,如果你的输入字符串字符小于1234567,那么strcmp()函数会返回 -1-1会将authenticated的内存改为0xFFFFFFFF,这时字符数组再溢出的话,authenticated的内存会被改为0xFFFFFF00,这样将不能通过验证,显示incorrent password!


本文出自 “天下皆白,哼” 博客,请务必保留此出处http://xiaoqin00.blog.51cto.com/10468367/1718439

修改临接变量

标签:修改临接变量

原文地址:http://xiaoqin00.blog.51cto.com/10468367/1718439

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!