首页
社区
课程
招聘
[旧帖] 如何跟踪动态分配的内存空间? 0.00雪花
发表于: 2012-1-1 21:49 6847

[旧帖] 如何跟踪动态分配的内存空间? 0.00雪花

2012-1-1 21:49
6847
我在动态调试的时候想跟踪某段数据的生成过程,可是发现这段数据的存储空间是动态申请的,好在每次申请的内存地址都是一样的。请问有没有办法预先对未获得的内存地址下访问断点?(我在ollydbg中尝试了一下,好像不行)我想找出存放在这段内存的数据的生成算法。

或者有没有软件可以记录程序的运行过程,然后保存下来以回放的方式让我慢慢调?

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (9)
雪    币: 159
活跃值: (80)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
右键,断点,内存写入断点
2012-1-1 22:46
0
雪    币: 268
活跃值: (28)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
来迟了。
右键,断点,内存写入断点。
2012-1-2 00:15
0
雪    币: 30
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
可是重启程序之后那块内存还没分配,都是空白的,点右键都没反应哦。(见附件)

有办法将程序的运行过程记录下来然后以回放的方式调试吗?
上传的附件:
2012-1-2 12:24
0
雪    币: 433
活跃值: (1870)
能力值: ( LV17,RANK:1820 )
在线值:
发帖
回帖
粉丝
5
可以借助windbg上的命令,比如对某一内存分配的函数下断然后输出一条命令:

bu allocfunaddr".if(1){.echo AllocMemory;dd esp l4;gc}"
2012-1-2 16:31
0
雪    币: 30
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
谢谢你的回复,我去试一下 :-)
2012-1-4 12:51
0
雪    币: 1708
活跃值: (586)
能力值: ( LV15,RANK:670 )
在线值:
发帖
回帖
粉丝
7
动态申请的内容,每次地址都一样不太可能,有可能这块 buffer 是一个数组。
2012-1-4 15:01
0
雪    币: 32
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
用ce查找指针地址,可以看哪些地方用到这个指针
2012-1-5 09:22
0
雪    币: 30
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
嗯,准确的说是在一段时间内是不变的,我也觉得很奇怪。
2012-1-8 17:17
0
雪    币: 30
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
好的,我有空也试一下这个。谢谢
2012-1-8 17:18
0
游客
登录 | 注册 方可回帖
返回
//