предотвратить перебазирование VC ++ DLL путем редактирования PE-заголовка - PullRequest
0 голосов
/ 16 октября 2011

Мне нужно установить флаг / FIXED, чтобы предотвратить перебазирование моей библиотеки VC ++ без перекомпиляции.(http://msdn.microsoft.com/en-us/library/w368ysh2.aspx). Где этот флаг в PE-заголовке?

спасибо, Риккардо

1 Ответ

3 голосов
/ 08 марта 2012

Переключатель компоновщика / FIXED не соответствует флагу в заголовке PE, он фактически указывает, добавляется ли секция перемещения в файл PE компоновщиком.

Флаг DYNAMIC_BASE Ганс Пассант говорит о том, разрешает ли ОС перемещать изображение в памяти при его загрузке (если ASLR включен).

  • Ссылка с / FIXED подходит для .exe, если вам не нужен ASLR для безопасности (веб-браузер и т. Д.)
  • Связывание с / FIXED для .dll - это , а не хорошая идея, если dll не может быть загружена по ее предпочтительному адресу (некоторые другие dll могут быть уже загружены туда), загрузка dll завершится неудачей!
...