Ассемблер для Windows


Описание заголовка РЕ - часть 6


08h

DWORD

Virtual Size

Виртуальный размер секции - именно столько памяти будет отведено под секцию. Если Virtual Size превышает Physical Size, то разница заполняется нулями, так определяются секции неинициализированных данных (Physical Size = 0).

0Ch

DWORD

Section RVA

Размещение секции в памяти, ее виртуальный адрес относительно Image Base. Позиция каждой секции выровнена на границу Object align (степень 2 от 512 до 256М включительно, по умолчанию 64К), секции упакованы вплотную друг к другу, впрочем, можно это не соблюдать. Для объектных файлов поле не имеет смысла.

10h

DWORD

Physical Size

Размер секции (ее инициализированной части) в файле кратно полю File align в заголовке РЕ Header, должно быть меньше или равно Virtual Size. Для объектных файлов это поле содержит точный размер секции, сгенерированный компилятором или ассемблером. Другими словами, для объектных файлов оно эквивалентно полю Virtual Size.

14h

DWORD

Physical Offset

Физическое смещение относительно начала ЕХЕ-файла, выровнено на границу File align поля заголовка РЕ Header. Смещение используется загрузчиком для поиска.

18h

DWORD

Pointer to Linenumber

Файловое смещение таблицы номеров строк. Используется для объектных файлов.

1Ch

WORD

Number of Relocations

Количество перемещений в таблице поправок. Используется только для объектных файлов.

1Eh

WORD

Number of Linenumbers

Количество номеров строк в таблице номеров строк для данной секции. Используется для объектных файлов.

20h

08h

Reserved

Зарезервировано для объектных файлов.

28h

DWORD

Object Flags

Битовые флаги секции:

00000004h - используется для кода с 16-битными смещениями.

00000020h - секция кода.

00000040h - секция инициализированных данных.

00000080h - секция неинициализированных данных.

00000200h - комментарии или любой другой тип информации.

00000400h - оверлейная секция.

00000800h - не будет являться частью образа программы.

00001000h - общие данные.

00500000h - выравнивание по умолчанию, если не указано иное.

02000000h - может быть выгружен из памяти.

04000000h - не кэшируется.

08000000h - не подвергается страничному преобразованию.

10000000h - разделяемый.

20000000h - выполнимый.

40000000h - можно читать.

80000000h - можно писать.

Страницы образов секций. Здесь мы изучим некоторые секции.




- Начало -  - Назад -  - Вперед -



Книжный магазин