首页
社区
课程
招聘
[旧帖] [求助]LoadLibrary获得的是dll的基地址吗 0.00雪花
发表于: 2009-6-4 18:52 5063

[旧帖] [求助]LoadLibrary获得的是dll的基地址吗 0.00雪花

2009-6-4 18:52
5063
在《0 day安全:软件漏洞分析技术》第4章5.3动态定位API地址的shellcode一节中的程序,作者调用LoadLibrary("user32.dll")获得user32.dll的基地址,然后通过该基地址查找user32.dll中的导出函数。实验证明,LoadLibrary("user32.dll")获得了user32.dll的基地址。
但我觉得正规的方法是不是的在kerenl32.dll中找到GetProAddress,然后通过GetProAddress来查找user32.dll中导出函数的地址?

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

收藏
免费 0
支持
分享
最新回复 (7)
雪    币: 419
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
对某些人来说,越不正规越好,越小越好!
2009-6-4 18:57
0
雪    币: 156
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
那LoadLibrary返回的一定是dll的基地址吗?
2009-6-4 19:22
0
雪    币: 254
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
你的理解有冲突吗?
2009-6-4 21:05
0
雪    币: 156
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
什么冲突?没明白您的意思
2009-6-4 22:04
0
雪    币: 1450
活跃值: (35)
能力值: (RANK:680 )
在线值:
发帖
回帖
粉丝
6
LZ的方法在所使用的API不多的时候也行~~  不过通用性没有西方失败大哥的好.

因为那样你得在shellcode中放入API的函数名, 而函数名的长度长短不一~

没failwest的方法方便~~
2009-6-4 23:28
0
雪    币: 1450
活跃值: (35)
能力值: (RANK:680 )
在线值:
发帖
回帖
粉丝
7
PS.  不在shellcode中放API函数名也行, 也放hash值, 也去比较, 然后使用dll中的函数名.

不过那样的话, 都已经得到RVA了~~  所以还是failwest这种方法比较优美~
2009-6-4 23:31
0
雪    币: 203
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
恩。。通用性比较好的就是先拿KERNEL32.DLL的基址,然后找LoadLibrary和GetProcAddress地址,SHELLCODE怎么写还是要看实际情况吧,有些漏洞没有那么多空间让你写这些东西,就只能通过HASH去暴力搜索了
2009-6-5 14:25
0
游客
登录 | 注册 方可回帖
返回
//