对于同一个函数,GetProcAddress返回的值是不是等于模块基地址+RAV(通过PE文件中获得的)的地址值相同?

AnyStayIsJk 2011-03-17 09:57:26
对于同一个函数,GetProcAddress返回的值是不是等于模块基地址+RAV(通过PE文件中获得的)的地址值相同?


我是这样理解的,不知道对不对?
说明了有两种获得函数地址的方式,一种是通过LoadLibraryA返回的句柄+要获得函数地址函数名为参数调用GetProcAddress获得,另一种是通过DLL的基地址+通过PE文件中函数的RAV来获得(因为DLL文件已经通过内存映射文件方式被加载到内存中,并又得到了基地址,所以就可以向读取PE文件一样的去获得函数的RAV)
...全文
84 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Lactoferrin 2011-03-17
  • 打赏
  • 举报
回复
GetProcAddress就是分析内存中的PE映像,找到导出表中的RVA加上基地址
硬盘里的PE文件和内存中的PE映像有差异,从PE文件得到RVA麻烦些
zhanshen2891 2011-03-17
  • 打赏
  • 举报
回复
GetProcAddress本来就是搜索导出表,你也可以指定序号啊。
oyljerry 2011-03-17
  • 打赏
  • 举报
回复
应该是类似的,只不过API 帮你做了这些事情来简化你的工作
fishion 2011-03-17
  • 打赏
  • 举报
回复
你打印下函数地址再比较下就知道了吧








论坛签名======================================================================

anystayisjk:你好!
截至 2011-03-17 09:57:26 前:
你已发帖 33 个, 未结贴 0 个;
结贴率为: 100.00%

当您的问题得到解答后请及时结贴.

http://topic.csdn.net/u/20090501/15/7548d251-aec2-4975-a9bf-ca09a5551ba5.html
http://topic.csdn.net/u/20100428/09/BC9E0908-F250-42A6-8765-B50A82FE186A.html
http://topic.csdn.net/u/20100626/09/f35a4763-4b59-49c3-8061-d48fdbc29561.html

如何给分和结贴?
http://community.csdn.net/Help/HelpCenter.htm#结帖

如何给自己的回帖中也加上签名?
http://blog.csdn.net/q107770540/archive/2011/03/15/6250007.aspx

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧