首页
社区
课程
招聘
[求助]OD调试中的 Ultra String Reference问题
发表于: 2008-12-25 09:12 3956

[求助]OD调试中的 Ultra String Reference问题

2008-12-25 09:12
3956
大家好,我是一个新手,在使用OD的过程中碰到一些问题,希望知道的人能回答一下,谢谢!
首先我使用OD载入程序,F9运行到登陆页面,这时我使用Ultra String Reference插件寻找相关字符串,OK,没有问题。输入用户名和密码后点击登陆,此时显示的是程序的主页面,而在这个时候再使用Ultra String Reference插件时显示的还是前面的字符串,这是为什么?我尝试CTRL + A后再查找,还是没有效果。但是奇怪的是有时候又可以分析出来,请高手出来解释一下,谢谢!
说明:1.该程序已脱壳 2.使用的语言为Delphi7 3.使用DeDe也查不到什么资源

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

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 33
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
2
刚才看了北极狐狸的这篇文章,http://bbs.pediy.com/showthread.php?t=79148 感觉有点体会,但还是希望有人能解答 一下我的问题。 是不是程序里有ANTI-debug? 要怎么检测呢?
2008-12-25 09:28
0
雪    币: 2110
活跃值: (21)
能力值: (RANK:260 )
在线值:
发帖
回帖
粉丝
3
你要知道字符串插件搜索的原理就不会奇怪了。

它可不是暴力搜索内存来实现的。那样的话不太好判断一段内存数据到底是不是“字符串”。

它是对程序代码进行启发式搜索,碰到push/mov等指令,就检查源操作数是不是一个地址,是的话再检查那个地址处的东西看起来“像不像”一个字符串。

你在一段代码上进行分析会得出一个结果,换一段程序代码,比如打开某个dll的代码再分析,那么搜索出来的就是这个dll中引用到的字符串了。

ps.上面那篇文章是我写的。我的目的就是想教会大家使用API断点,以脱离对“字符串”的依赖。
2008-12-25 12:35
0
雪    币: 33
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
4
重新打开了一下链接果然是书呆彭的......... 呵呵,谢谢版主的热心回答。  但是我还有点不明白,按照你说的它是对代码进行启发式搜索,那么它搜索的范围是什么呢?根据后面的话,难道是程序的领空? ^_^
2008-12-25 13:28
0
雪    币: 2110
活跃值: (21)
能力值: (RANK:260 )
在线值:
发帖
回帖
粉丝
5
因为此插件我基本上很少使用,它搜索的范围具体有多大,我也没分析过,据我的猜测,应该是当前反汇编窗口显示的代码所在的那一块内存区域。

想要深入研究,就去老罗那里下载源码来看吧。

http://www.luocong.com/myworks.htm
2008-12-25 17:50
0
雪    币: 427
活跃值: (65)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
6
不是程序的领空,而是当前CPU窗口所在的段!
2008-12-25 17:57
0
游客
登录 | 注册 方可回帖
返回
//