У меня работает исполняемый файл ("heidisql.exe"). Sysinternals Process Explorer показывает "DEP (permanent) » в столбце DEP.

Я проверял двоичный файл статически (среди прочего, используя pestudio). Все результаты статического анализа показали, что DEP не поддерживается, то есть бит IMAGE_DLLCHARACTERISTICS_NX_COMPAT не установлен.

Почему Process Explorer показывает DEP (permanent) тогда?

Чтобы сделать его еще более странным: BinScope (бесплатный инструмент от Microsoft) вообще не перечисляет результаты « NXCOMPAT check » ни в разделах « Неудачные проверки », «Не проверенные проверки » или «Пропущенные проверки». Что это должно означать?

1 ответ1

1

Это сообщение в блоге говорит:

DEP «всегда включен» для 64-битных процессов в 64-битных версиях Windows и не может быть отключен.

Кроме того, эта документация Microsoft говорит это:

В 64-разрядных версиях Windows, если доступен аппаратный DEP, он всегда применяется к 64-разрядным процессам и областям памяти ядра, и нет никаких параметров конфигурации системы, чтобы отключить его.

и это:

Конфигурация DEP для каждого приложения
В целях совместимости приложений, когда для DEP задан уровень политики OptOut , можно выборочно отключать DEP для отдельных 32-разрядных приложений. Однако DEP всегда включен для 64-битных приложений.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .