首页
社区
课程
招聘
[求助]关于OD调用系统DLL函数的一个小问题
发表于: 2012-11-20 21:49 4390

[求助]关于OD调用系统DLL函数的一个小问题

2012-11-20 21:49
4390
如下图,我通过OD“查看执行模块”查到Kernel32.dll的LoadLibraryA的地址(我这里是0x77762804),然后编辑指令,输入“call 77762804”。然后在二制码里看到是:E8 680F3577(即地址是:0x77350F68)。怎么两者不一样的?请求大侠回答。。。多谢!

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

上传的附件:
收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 1839
活跃值: (1786)
能力值: ( LV12,RANK:230 )
在线值:
发帖
回帖
粉丝
2
E8的call地址在当前地址上偏移的
2012-11-20 22:10
0
雪    币: 107
活跃值: (404)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
规则如下:
目标地址 - 当前地址 - 当前指令长度

你这个例子是这样:
0x77762804 - 0x00411897 = 0x77350F6D

然后你整句CALL代码长5个字节(E8 68 0F 35 77)
所以
0x77350F6D - 5 = 0x77350F68
2012-11-21 05:28
0
雪    币: 3263
活跃值: (3306)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
4
楼上的正解,  相对偏移
2012-11-21 08:45
0
雪    币: 111
活跃值: (113)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
5
回复晚了,讲得很详细。。。谢谢!
2012-11-24 15:02
0
游客
登录 | 注册 方可回帖
返回
//