首页
社区
课程
招聘
[旧帖] 导出表相对地址问题 0.00雪花
发表于: 2010-5-23 14:01 3381

[旧帖] 导出表相对地址问题 0.00雪花

2010-5-23 14:01
3381
关于计算导出表:

mov ebp, [ecx+ 08] //ebp是kernel32.dll内存基址

。。。
mov eax,[ebp+0x3c] //PE头地址

mov ecx,[ebp+eax+0x78] //导出表相对地址 ?这里eax已经是pe头了,相对pe头偏移0x78的地方是导出表,加上基址ebp就是导出表在内存中的地址了,为什么下面还要add ecx,ebp?

add ecx,ebp //导出表绝对地址

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

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 2242
活跃值: (488)
能力值: ( LV9,RANK:200 )
在线值:
发帖
回帖
粉丝
2
因为得到的是偏移,所以需要加上模块基地址
2010-5-23 14:43
0
雪    币: 33
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
ecx是计算出来的偏移地址
绝对地址需要加上基址
所以ecx+ebp
2010-5-23 15:27
0
雪    币: 72
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
ecx为什么是偏移呢?不是已经加上ebp了么?ebp+eax+0x78,

eax是pe头,eax+0x78是导出表相对pe头的偏移,ebp+eax+0x78不就是绝对地址了么?
2010-5-23 16:42
0
雪    币: 622
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
认真看  ebp+eax+078 是带中括号的 也就是说取地址里的内容
2010-5-23 17:04
0
游客
登录 | 注册 方可回帖
返回
//