ASLR и DEP в Delphi, как сказать?
С http://blogs.msdn.com/b/michael_howard/archive/2007/04/04/codegear-s-new-delphi-2007-supports-aslr-and-nx.aspx я использую {$SETPEOPTFLAGS $140} в файле моего проекта прямо под именем программы, чтобы получить рандомизацию расположения адресного пространства (ASLR) и DEP.
Как можно определить, установлены ли флаги в PE? Кажется, у PeStudio есть информация, но она не работает.
Благодарю.
2 ответа
Решение
Самый простой способ, который я знаю, это использовать Process Explorer в запущенном приложении. Просто дважды щелкните по процессу и прочитайте его из этого диалога:
Необходимо добавить оба заголовка в файл проекта приложения:
{$SETPEOPTFLAGS $140} // добавить эту строку
{$SetPEOptFlags $140} // и эта строка
между началом и концом.