首页
社区
课程
招聘
一段字符串在内存地址里面的地址是怎样判断?
发表于: 2006-7-25 23:13 6861

一段字符串在内存地址里面的地址是怎样判断?

2006-7-25 23:13
6861
比如在内存地址里面有一段字符串为“我喜欢看雪学院”,这段字符是动态地址的,每次都会改变的。如果我想下断跟踪到他分配地址的地方,我是不是在这个字符串下个断点,我用的是SOFTICE下断点的,现在问题来了,因为我用WINEX查看到这段话的第一个字“我”字的偏移地址是021DB488,“喜”字地址就是下一个地址021DB489,那这一整段的动态地址是怎样判断的???因为我每次都是在021DB488这个地址下断,在SOFTICE下断命令 BPM 021DB488 W ,但是每一次都无法断出所谓的分配这个动态地址的地方,有个朋友说我下的断点地址是错误的,没有详细跟我讲~所以我就在这里向各位跟踪过动态内存地址的朋友讨教,希望得到一个准确答案~

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
免费 0
支持
分享
最新回复 (8)
雪    币: 44229
活跃值: (19965)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
2
建议用OllyDBG,比较方便。
在找到字符串,右键:内存写断点
2006-7-26 09:18
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
无法附加怎么办?
2006-7-26 13:19
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
这个字符串的地址应该是哪个呢?因为每一个字符都是一个地址,整句字符串的指针地址应该是哪个呢?是他的首个字符的地址吗?比如021DB488这个地址?有人解答一下吗
2006-7-26 13:48
0
雪    币: 200
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
看看以前的Ollydbg的入门教程系列-内存断点的文章吧。

要细心看,很容易的。

我稍微提示一下你,用“查看”菜单里面的“文件”,然后打开你要调试的那个东东,找你想看的字符串。然后怎么办就很简单了,再说多了我都变菜鸟了。
2006-7-26 14:21
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
帮助别人解答难题会变成菜鸟了?不会是觉得帮助别人是很羞耻的事情吧
我调试的网络游戏,楼上说的方法好象。。。。。。。。。。。。。

有人调试过这方面的可以讲讲吗?
2006-7-26 20:23
0
雪    币: 184
活跃值: (108)
能力值: ( LV9,RANK:410 )
在线值:
发帖
回帖
粉丝
7
你的这个问题很难让人回答,调试工具只是具备字符串搜索功能,无论
sice还是OD都是基于普通的搜索方式,再组合其它的方法来定位下断的.

你所说的动态字符串,从原理上它不会乱跳,而是有一定的规律的,从我们编程的角度来说,它现实出来的时候,它必须组合到某个缓冲区后在送屏幕的(当然也存在它有某种表,按照这个表结构来读零散的字符串可能性),你只要断到它这个字符串回溯就可以了,你说的字符串完全是动态的你就需要分析它动态是那几种可能性,一般字符串这样动态处理很麻烦的,起码编程上我们不会将字符串这样处理,而血呀,内之类的东西容易动态化.

搜索字符串,定位它,回溯它的调用函数.也就这个思路了.
你提供的信息太少,一般需要具体问题具体分析.
2006-7-27 02:09
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
2006-7-27 16:07
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
2006-7-30 01:45
0
游客
登录 | 注册 方可回帖
返回
//