«Относительные виртуальные адреса», относительно чего? - PullRequest
7 голосов
/ 21 октября 2011

Я только что читал о смещениях инструкций, которые они содержат в файле на диске, RVA и VA после их загрузки в память.Я также читал, что если PE-файл будет загружен в память точно так же, как на диске, RVA будет таким же, как смещения файлов (и это будет очень необычно для этого).

Я сомневаюсь - при нормальных обстоятельствах, к чему относятся эти RVA?Начало этой конкретной структуры данных PE?

Редактировать: под структурой данных PE я имею в виду - заголовок PE, заголовок DOS, заглушка DOS, заголовок файла PE, необязательный заголовок изображения, таблица разделов и каталоги данных.

1 Ответ

11 голосов
/ 21 октября 2011

RVA - это адрес относительно базового адреса изображения после загрузки в память.

Спецификация MS PE / COFF гласит:

Относительный виртуальный адрес . В файле изображения - адрес элемента после его загрузки в память, из которого вычитается базовый адрес файла изображения. RVA элемента почти всегда отличается от его положения в файле на диске (указатель файла).

...