首页
社区
课程
招聘
[求助]vs2005GS开关的问题
发表于: 2009-3-23 08:45 4969

[求助]vs2005GS开关的问题

2009-3-23 08:45
4969
vs2005中,为了防止缓冲区溢出而覆盖函数参数的问题,它用gs开关对此问题进行了保护:复制一份函数参数--并不使用原有的函数参数,把它放在堆栈中本地变量之下。如果原有函数参数被溢出改写了,只要副本中的值仍保持不变,整个函数就不会被攻破。
     但我实际跟踪内存数据,却没有发现复制的函数参数,跟没加GS保护一个样,谁知道什么原因?

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 517
活跃值: (35)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
2
一稿三投!

啊?
2009-3-23 12:37
0
雪    币: 293
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
你错怪楼主了,是一稿四投~
2009-3-23 13:39
0
雪    币: 200
活跃值: (16)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
呵呵,一稿四投,lz强大
2009-3-25 15:29
0
雪    币: 709
活跃值: (2420)
能力值: ( LV12,RANK:1010 )
在线值:
发帖
回帖
粉丝
5
牛B闪闪.
闪闪牛B.
2009-3-25 16:26
0
雪    币: 101
活跃值: (12)
能力值: ( LV12,RANK:210 )
在线值:
发帖
回帖
粉丝
6
“复制的函数参数” 理解不了
2009-3-26 03:48
0
雪    币: 267
活跃值: (52)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
GS不是像楼主描述的那样,它只是在栈帧开始的地方放入一个cookie,如果栈发生溢出将会覆盖到该cookie,函数在返回时将会检查到cookie被破坏掉(__secure_check_cookie),就不会再返回而是执行报错。因此,想采用覆盖返回地址的方式获取控制权是不会成功的。

楼主无非是想知道答案,可楼上这么多位居然都不正面回答楼主,不太好吧
2009-3-26 23:28
0
游客
登录 | 注册 方可回帖
返回
//