首页
社区
课程
招聘
[求助]使用OllyDbg汇编功能遇到的问题
发表于: 2011-9-13 22:37 5079

[求助]使用OllyDbg汇编功能遇到的问题

2011-9-13 22:37
5079
看了“OllyDBG 入门系列(七)-汇编功能”http://bbs.pediy.com/showthread.php?t=23873,感觉写通俗易懂,让菜鸟我收获很大。但是遇到一些问题,麻烦路过的大侠帮我解答下,万分感谢!

如下:
使用Load_PE查看notepad.exe导入表,引入了user32.dll中的MessageBoxW
ThunkRVA为00007934。OllyDbg启动notepad.exe后,notepad.exe的基地址是01000000,
user32.dll的基地址是76E20000
根据”OllyDBG 入门系列(七)-汇编功能“ 这篇教程可以这样调用
call dword ptr [1007934],1007934为01000000、007934之和
但是经过测试发现,call dword ptr [1007934]调用的并不是MesageBoxW
而MessageBoxW的实际地址是76E7EABF,测试环境Windows XP  SP2,请大侠指教,再次感谢谢谢!

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

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 1839
活跃值: (1786)
能力值: ( LV12,RANK:230 )
在线值:
发帖
回帖
粉丝
2
一种东西叫做IAT
2011-9-13 22:46
0
雪    币: 721
活跃值: (3782)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
3
第一次发帖,谢谢你的回复,我用Load_PE给notepad.exe添加输入表函数MessageBoxW,然后在OllyDbg中用汇编
call dword ptr [XXX],XXX为ThunkRVA与notepade.exe基地址之和
这样就没有问题。

notepad.exe的输入表中本来就有Users32.dll中的MessageBoxW,为什么必须用
Load_PE添加导入函数MessageBoxW才可以调用呀,谢谢。
2011-9-13 22:58
0
雪    币: 517
活跃值: (35)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
4
[QUOTE=appview;999951]第一次发帖,谢谢你的回复,我用Load_PE给notepad.exe添加输入表函数MessageBoxW,然后在OllyDbg中用汇编
call dword ptr [XXX],XXX为ThunkRVA与notepade.exe基地址之和
这样就没有问题。

notepad.exe的输...[/QUOTE]

不添加也不是不行,就是不能跨平台使用。
2011-9-14 08:25
0
雪    币: 721
活跃值: (3782)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
5
谢谢大家的回复,问题解决了。

但是还有一个疑问,在Lord_PE中查看输入表
“总是查看 FirstThunk(V)”复选框如果不选中的话,
MessageBoxW对应的ThunkRVA是7934

如果选中的话对应的ThunkRVA是1268,这个ThunkRVA经过测试是没有问题的
call dword ptr [XXX],XXX是notepad.exe基地址+1268,并且在其他的机器上也是没有问题的。
但是我不明白
为什么MessageBoxW会有两个ThunkRVA呢,有什么区别呀?
2011-9-14 09:37
0
游客
登录 | 注册 方可回帖
返回
//