Как отключить DEP

У нас есть приложение, в котором некоторые части кучи выполняются как инструкции по сборке / для целей тестирования — мы загружаем программы в ПЛК, но позволяем пользователям имитировать выполнение своих приложений, выполняя их код перед загрузкой в ​​ПЛК. Раньше мы всегда выполняли эти программы из кучи, где хранятся инструкции, и это работало нормально, но теперь мы перешли на VS2012, и теперь кажется, что отключить DEP не так просто. Мне было интересно, можно ли как-то отключить DEP независимо от того, что GetProcessDEPPolicy возвращает или, если есть какой-то другой метод для выполнения инструкций по сборке из кучи без использования DEP?

3

Решение

Вы не хотите отключать DEP; Вы хотите изменить свое приложение для работы в нем.

в http://msdn.microsoft.com/en-us/library/windows/desktop/aa366553%28v=vs.85%29.aspx

If your application must run code from a memory page, it must allocate and set the proper
virtual memory protection attributes. The allocated memory must be marked PAGE_EXECUTE,
PAGE_EXECUTE_READ, PAGE_EXECUTE_READWRITE, or PAGE_EXECUTE_WRITECOPY when allocating memory.

Следуйте этим простым инструкциям, и ваш код может сосуществовать с DEP.

6

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]