首页
社区
课程
招聘
[求助]关于堆溢出使用的问题
发表于: 2009-9-14 18:21 4857

[求助]关于堆溢出使用的问题

2009-9-14 18:21
4857
node->blink->flink=node->flink;

这句话为什么会把伪造的flink写入伪造的blink所指的地址中去呢

比如后面的例子,flink=0x44444444,blink=0x00000000

node->blink=0x00000000,那么node->blink->flink应该是0x00000000+8吧?因为flink不是在堆块的偏移0x8处吗?

弄得我有点晕。

thx

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

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 172
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
你想想flink写入blink 链表会发生什么变化你就明白是怎么拆卸的了
2009-9-14 19:05
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
0x00000000表示后向指针指向的地址,那么flink=0x44444444就应该是这个地址中的内容,于是flink就会写入blink

2009-9-23 15:31
0
游客
登录 | 注册 方可回帖
返回
//