|
||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Формат исполняемых PE-файлов
|
Base | Size or Type | Name Of field | Brief description |
00h | DWord | Page RVA | Указатель на страницу применения настроек перемещений |
04h | DWord | Block Size | Размер блока настроек (с заголовком) |
08h | Word | TypeOffset Record | Массив записей настроек, их переменное количество |
Total Structure size | ... | таблица имеет переменный размер |
15 . . . 12 Type | 11 . . . 0 Offset | Биты слова, Type указывает на тип настройки, а Offset на ее смещение внутри 4-килобайтового блока применимости настроек. |
0h - | адрес абсолютный и никаких изменений производить не требуется. |
1h - | добавить старшие 16 битов Дельты к 16 битовому полю находящемуся по смещению Offset. 16 битовое поле представляет старшие биты 32-битового слова. |
2h - | добавить младшие 16 битов Дельты по смещению Offset. 16-битовое поле представляет младшую половину 32-битового слова. Данная запись настройки присутствует только на RISC машине когда Object align не является по умолчанию 64К. |
3h - | прибавляет 32-битовое Дельта к 32-битовому значению. |
4h - | настройка требует полного 32-битового значения. Старшие 16-бит берутся по адресу Offset, а младшие в следующем элементе TypeOffset Все это объединяется в знаковую переменную, затем добавляется 32-битовое дельта и DWord 8000h. Старшие 16 бит получившегося значения сохраняются по адресу Offset в 16-битовом поле. |
5h - | ? что-то связанное с MIPS. |
В реальной жизни я сталкивался только с типами 0 и 3, все остальные на интелах очевидно не столь юзабельны, интересное поле для экспериментов. Все прочие типы перемещений зарезервированы Microsoft.
Опрос |
|
Конкурсы
|
|
Реклама |
|
Web дизайн: Бурлаков Михаил
Web программирование: Бурлаков Михаил