Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

.reloc


Kerk ©   (2004-03-20 10:33:00) 

При запуске ехешник всегда загружается по тому адресу, которому хочет (ибо вирт.память), в этом случае секция .reloc ему не нужна. Эта секция может понадобиться, если кто-то грузит ехешник с помощью LoadLibrary.

Такие образом, если export size = 0, то секцию .reloc можно убивать? Правильно?


Kerk   (2004-03-21 14:56:00) [1]


> Игорь Шевченко ©   (21.03.04 00:22) [3]

Обо всем, что ты сказал, я в принципе и так догадывался.
Вопрос задал, чтобы уточнить вот что:
Эта секция может понадобиться, если кто-то грузит ехешник с помощью LoadLibrary.


Игорь Шевченко   (2004-03-21 00:22:00) [2]

Примерчик показал, что перебазируются Known DLLs (за редким исключением, при попытке влезть в диапазон адресов, занятый Kernel32.dll приложение тихо умерло).

Я полагаю, что в большинстве случаев .reloc можно убирать для EXE-файлов. Могу ошибаться, но в списке модулей, живущих в адресном простанстве процесса, я пока не видел EXEшников, живущих не по своему базовому адресу.


Игорь Шевченко   (2004-03-21 00:09:00) [3]

Рано на Enter нажал.


> Такие образом, если export size = 0, то секцию .reloc можно
> убивать?


Если не допускать предположения, что EXEшник перекроет область Known DLLs, я не уверен, кто из будет перебазирован. Можно пример написать :)


Игорь Шевченко   (2004-03-20 23:59:00) [4]


> При запуске ехешник всегда загружается по тому адресу, которому
> хочет (ибо вирт.память),


Ибо проецируется на адресное пространство процесса первым, согласно Рихтеру.


Наверх

Титульная страница Поиск, карта сайта Написать письмо