Разбираемся в отображении ASLR в Process Explorer: различия при использовании линковщика с runtime пакетами в Delphi на Windows 10Delphi , Синтаксис , Справочник по API-функциямВведениеВ данной статье мы рассмотрим, как отображается функция Address Space Layout Randomization (ASLR) в инструменте Process Explorer при использовании линковщика с runtime пакетами в проектах на Delphi под Windows 10. ASLR — это техника безопасности, которая случайным образом размещает загружаемые модули в памяти, что затрудняет выполнение атак, основанных на известных адресах в памяти. ПроблемаРазработчики столкнулись с проблемой, когда при создании пустого проекта VCL в Delphi и добавлении директивы {$SETPEOPTFLAGS $140}, которая включает ASLR и DEP (Data Execution Prevention), отображение ASLR в Process Explorer менялось в зависимости от того, был ли включен линковщик с runtime пакетами. В случае, когда линковщик отключен, ASLR отображался как "Enabled (permanent)Disabled", в то время как при включенном линковщике — как "Bottom-Up". Это поведение наблюдалось как для 32-битных, так и для 64-битных приложений, а также при использовании 32- и 64-битных версий Process Explorer. Подтвержденный ответПосле дополнительных исследований было выяснено, что первая часть описания ASLR в Process Explorer ("Enabled (permanent)Disabled") отражает настройки операционной системы, в то время как вторая часть — настройки самого приложения. В случае 64-битных приложений, даже если приложение отображается как "Enabled (permanent), Disabled", исполняемый файл всегда находится на одном и том же базовом адресе, но адреса загружаемых библиотек используют ASLR. Пример кода на Object Pascal (Delphi)Для включения ASLR и DEP в проекте на Delphi используйте следующую директиву в файле проекта:
Альтернативный ответАльтернативный ответ заключается в том, что поведение приложения может быть связано с настройками, загружаемыми во время выполнения, которые аналогичным образом могут быть реализованы в проектах на других языках программирования, использующих линковку с динамическими библиотеками. ЗаключениеВ данной статье мы рассмотрели, как настройки линковщика runtime пакетов влияют на отображение ASLR в Process Explorer при разработке приложений на Delphi. Важно понимать, что отображение ASLR в Process Explorer может отличаться от реального использования ASLR операционной системой, что связано с особенностями загрузки и линковки модулей. Описание статьи, где рассматривается отображение функции ASLR в Process Explorer при разработке приложений на Delphi с использованием линковщика и runtime пакетов под Windows 10. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта. :: Главная :: Справочник по API-функциям ::
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |