windows - "Relative Virtual Addresses",相对于什么?

标签 windows reverse-engineering file-format portable-executable

我刚刚阅读了有关指令在磁盘文件中的偏移量,RVA 和 VA 一旦它们被加载到内存中。我还读到如果一个 PE 文件被加载到内存中,就像它在磁盘中一样,RVA 将与文件偏移量相同(并且发生这种情况是非常不寻常的)。

我的疑问是 - 在正常情况下,这些 RVA 与什么有关?那个特定 PE 数据结构的开始?

编辑:我所说的 PE 数据结构是指 - PE header 、DOS header 、DOS stub 、PE 文件 header 、图像可选 header 、节表和数据目录。

最佳答案

RVA是图像加载到内存后相对于基地址的地址。

MS PE/COFF specification说:

Relative virtual address. In an image file, the address of an item after it is loaded into memory, with the base address of the image file subtracted from it. The RVA of an item almost always differs from its position within the file on disk (file pointer).

关于windows - "Relative Virtual Addresses",相对于什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7848982/

相关文章:

c++ - Visual Studio 跳过构建

python - python open语句中的反斜杠错误

mysql - 复杂的未知日期/时间表示

javascript - 如何反混淆这段 JavaScript 代码?

sql - 创建没有任何外键的数据库实体图

java - 基于 Java 的游戏的声音格式

python - 构建引用 .PYD 的 Python 包/模块的正确方法是什么?

python - pip 安装 dotenv 错误代码 1 Windows 10

C# 导入 Adob​​e Illustrator (.AI) 文件渲染到位图?

delphi - 在 Delphi 中读取/解析/修改 MS Word 文档,无需 Word Automation