首页
社区
课程
招聘
[原创]使用Windbg在XP下Heap追踪失败的原因
发表于: 2015-9-13 10:17 9167

[原创]使用Windbg在XP下Heap追踪失败的原因

2015-9-13 10:17
9167

说明:本帖在看雪论坛和个人博客同步发布(167K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8X3u0D9L8$3N6Q4x3X3g2U0M7$3c8F1i4K6u0W2L8X3g2@1i4K6u0r3k6%4g2X3k6h3&6Y4z5e0W2Q4x3V1k6S2M7Y4c8A6j5$3I4W2i4K6u0r3k6r3g2@1j5h3W2D9M7#2)9J5c8U0b7^5y4o6p5J5y4K6f1K6),由于CSDN的博客发布越来越让人失望了,打算回归看雪论坛。

     最近同事的代码中碰到一个bug会导致奔溃的bug,从dump上看是由于某个对象的堆内存指针被释放了,但代码仍调用了该对象指针的虚函数,从而引起内存访问违法崩溃,由于该类被大量使用,无法直接定位到具体哪个类被提前释放了,从而打算开启堆页检查,跟踪该对象堆内存指针被释放的代码位置,从而揪出元凶。

     由于此bug在win7的机器上不易重现,在xp sp3的机器上较容易重现,故准备在xp sp3的机器上开启堆页检查(DHP),跟踪该对象指针被释放的代码位置和时机,由于未从用过gflag进行堆页检查和调试,故先写了段小代码练练手:


用gflag开启堆页检查:


    设好符号文件后祭出 Windbg 走起,崩溃触发后断下,输入 !heap -p -a ecx 指令一举揪出元凶,但现实却是如此的骨感:

004010d9 8b11            mov     edx,dword ptr [ecx]  ds:0023:0161cff0=????????

0:000> !heap -p -a ecx

ReadMemory error for address eeddccee

Use `!address eeddccee' to check validity of the address.

[培训]科锐逆向工程师培训第53期2025年7月8日开班!

上传的附件:
收藏
免费 3
支持
分享
最新回复 (9)
雪    币: 6
活跃值: (19)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
谢谢楼主分享。
2015-9-13 11:40
0
雪    币: 8679
活跃值: (3225)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
不会调试的路过
2015-9-13 14:42
0
雪    币: 58782
活跃值: (21921)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
4
等以后有条件,看雪也为你搞个博客,把你的精华帖展现在上面。
2015-9-14 10:48
0
雪    币: 135
活跃值: (63)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
5
这个页堆有点怪,各种不明真相的问题。前几个月用的时候,我就成功过一次,郁闷。
2015-9-14 11:29
0
雪    币: 659
活跃值: (509)
能力值: ( LV9,RANK:210 )
在线值:
发帖
回帖
粉丝
6
多谢老大关注
2015-9-14 12:24
0
雪    币: 1233
活跃值: (907)
能力值: ( LV12,RANK:750 )
在线值:
发帖
回帖
粉丝
7
果断坑死人 不偿命啊 哈哈
2015-9-14 19:55
0
雪    币: 3533
活跃值: (1803)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
8
学习了 精彩
2015-9-24 19:13
0
雪    币: 185
活跃值: (111)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
9
xp 已经出了support lifecycle, 5edK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6K6N6i4m8H3L8%4u0@1i4K6u0W2L8h3W2U0M7X3!0K6L8$3k6@1i4K6u0W2j5$3!0E0i4K6u0r3k6h3&6Q4x3X3c8#2M7#2)9J5c8X3I4A6k6X3g2U0P5h3y4D9k6g2)9J5c8Y4y4W2j5i4u0U0K9q4)9K6c8Y4y4G2M7Y4c8Q4x3@1c8b7e0W2)9J5y4X3q4D9M7r3S2S2i4K6y4p5e0h3W2U0M7X3!0K6L8$3k6@1i4K6t1#2x3U0m8i4K9h3&6V1L8%4N6K6i4K6t1#2x3U0m8j5f1q4)9J5y4V1k6A6L8s2c8W2M7W2)9K6c8p5k6A6L8s2c8W2M7V1&6a6i4K6u0W2 新版本的windbg应该不会测试xp, 如果你的
新版本windbg帮助上声明支持xp, 你应该能file一个文档bug.
2015-9-28 19:28
0
雪    币: 799
活跃值: (462)
能力值: ( LV12,RANK:280 )
在线值:
发帖
回帖
粉丝
10
很详细,感谢楼主的分享
2016-7-25 17:08
0
游客
登录 | 注册 方可回帖
返回