首页
社区
课程
招聘
[求助]ida 中的地址和ollyDbg中的地址不一致问题。
2008-12-8 22:32 7277

[求助]ida 中的地址和ollyDbg中的地址不一致问题。

2008-12-8 22:32
7277
分析ms06-055这个漏洞时在ida中定位到_IE5_SHADETYPE_TEXT::Text(unsigned short const*,int )的地址为0049a121,可是用ollyDbg attach上已经加载过vgx.dll的IE进程后点ctrl+g后发现说是未知地址。 怎 么办?

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

收藏
点赞0
打赏
分享
最新回复 (9)
雪    币: 576
活跃值: (152)
能力值: ( LV9,RANK:680 )
在线值:
发帖
回帖
粉丝
playboysen 16 2008-12-9 07:30
2
0
应该是对应的
雪    币: 34
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
jordanpz 2008-12-9 09:38
3
0
那为什么在olly中找不到那个地址呢?
雪    币: 34
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
jordanpz 2008-12-9 22:51
4
0
晚上睡前顶一顶,
雪    币: 431
活跃值: (442)
能力值: ( LV12,RANK:530 )
在线值:
发帖
回帖
粉丝
Vegeta 13 2008-12-9 23:53
5
0
重定位...
雪    币: 2108
活跃值: (21)
能力值: (RANK:260 )
在线值:
发帖
回帖
粉丝
书呆彭 6 2008-12-9 23:58
6
0
对于exe,一般加载器都能将其加载到默认的地址上,所以IDA反汇编出来的地址和程序运行时的地址是一致的。

但对于DLL,多数情况下无法加载到其默认地址上,所以有的DLL在连接时干脆指定默认地址为-1,从而所有外部引用的重定位都交给连接器了。

所以,只能通过相对地址,即所谓RVA来定位。目前为止我还不知道怎么从IDA中取得RVA,只能取得它的文件偏移,所以还得再通过文件偏移来换算到RVA,然后在OD中看一下DLL加载的基址,再换算到实际的地址就行了。
雪    币: 34
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
jordanpz 2008-12-10 10:09
7
0
那怎么在ida中查看dll的文件地址呢?
雪    币: 229
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
suisuisui 2008-12-10 11:00
8
0
Segments

Shift+F7
雪    币: 1098
活跃值: (193)
能力值: (RANK:210 )
在线值:
发帖
回帖
粉丝
zhuliang 5 2008-12-10 12:16
9
0
出现这种情况,还可能是因为该dll文件还未装入进程的地址空间。我曾试过,DLL文件未装入进程的地址空间,也可能出现OD说是未知地址的。因为有些DLL是进程运行过程中调用LoadLibrary动态装进进程地址空间的。不是一开始就装入的。你用ctrl+g时可能还没装入。
雪    币: 34
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
jordanpz 2008-12-10 12:28
10
0
我这是按照failwest的那本书上第314页上的那个步骤来的,按书上的说明应该是装入的了呀,现在还是不知怎么在那个函数上下断,我在olly中查找所有的函数参考后找到了那个函数_IE5_SHADETYPE_TEXT(unsigned short const* int)可还是不行,根本就断不下来。
游客
登录 | 注册 方可回帖
返回