Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Разбираемся в отображении ASLR в Process Explorer: различия при использовании линковщика с runtime пакетами в Delphi на Windows 10

Delphi , Синтаксис , Справочник по 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 используйте следующую директиву в файле проекта:

{$SETPEOPTFLAGS $140}

Альтернативный ответ

Альтернативный ответ заключается в том, что поведение приложения может быть связано с настройками, загружаемыми во время выполнения, которые аналогичным образом могут быть реализованы в проектах на других языках программирования, использующих линковку с динамическими библиотеками.

Заключение

В данной статье мы рассмотрели, как настройки линковщика 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
Top.Mail.Ru

Время компиляции файла: 2024-12-22 20:14:06
2025-01-13 19:04:12/0.0050430297851562/1