Windows内核中PE文件与地址转换技术详解.pdfVIP

  • 5
  • 0
  • 约1.77万字
  • 约 20页
  • 2026-04-30 发布于北京
  • 举报

Windows内核中PE文件与地址转换技术详解.pdf

本章将继续探索内核中解析PE文件的相关内容,PE文件中FOA与VA,RVA之间的转换也是很重要的,所谓的

FOA是文件中的地址,VA则是内存装入后的虚拟地址,RVA是内存基址与当前地址的相对偏移,本章还是需要

用到《驱动开发:内核解析PE结构导出表》中所封装的KernelMapFile()映射函数,在映射后对其PE格式进

行相应的解析,并实现转换函数。

首先先来演示一下内存VA地址与FOA地址互相转换的方式,通过使用WinHEX打开一个二进制文件,打开

后我们只需要关注如下蓝色注释为映像建议装入基址,注释为映像装入后的RVA偏移。

通过上方的截图结合PE文件结构图我们可得知0000158B为映像装入内存后的RVA偏移,紧随其后的则是映像的建议装入基址,为什么是建议而不是绝对?别急后面慢慢来解释。

通过上方的已知条件我们就可以计算出程序实际装入内存后的地址了,如下:VA(

实际装入地址)=ImageBase(基址)+RVA(偏移)=+0000158B=0040158B

找到了程序的OEP以后,接着我们来判断一下这个0040158B属于哪个节区,以.text节区为例,下图我们通过观察

区段可

文档评论(0)

1亿VIP精品文档

相关文档