谁能给说说pe装载的过程(200分)

  • 主题发起人 主题发起人 江南草
  • 开始时间 开始时间

江南草

Unregistered / Unconfirmed
GUEST, unregistred user!
动态重定位怎么解决的?正在看pe格式,,,好多细节不明白。。。。
 
江南草,仔细看pe格式吧,看懂了,你就会明白动态重定位。
我可以大致说一下:
引入表 Imageimportdescriptor 的originalfirstthunk 字段是指向
Imagethunkdata的rva,而firstthunk也是指向Imagethunkdata的rva,
但是originalfirstthunk所指向的东东是不变的,而firstthunk所指向的东东就是
当动态重定位是pe loader动态修改的。
 
谈谈你的想法如何?!
 
有专门的教程:

http://www.my169.com/~bigluo/iczelion.htm#3
http://www.my169.com/~bigluo/program/iczelion/lion-petut-c01.htm
 
我也有这个问题。
引入表 是对程序外引用的重定位。那对程序内的引用不知道是怎么重定位的。
比如调用一个winapi
call ipt_apiname
call 指令引用了import table 中的一项,如果程序装载地址变化的话,call
指令里的地址也需要重定位,不是吗?
 
这个是通过RVA解决的。
去阅读我推荐的资料,就会明白。
 
后退
顶部