首页 > 其他 > 详细

修改临接变量

时间:2015-12-01 12:58:21      阅读:157      评论: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
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!