Если страница виртуальной памяти является исполняемой, означает ли это, что она читаема? - PullRequest
2 голосов
/ 16 января 2012

Если бы я создал страницу виртуальной памяти в системе x86 с защитой страницы, настроенной только на исполняемый файл, означало бы ли это, что страница также читаема?

Ответы [ 2 ]

1 голос
/ 16 января 2012

Предполагается, что режим IA-32e: да, запись таблицы страниц не имеет бита, который запрещает чтение, только запись (бит 1, R / W). Страницы всегда читаемы, при условии, что бит 2 (U / S, пользователь / супервизор) разрешает доступ. Бит 63, EXB - это бит запрета выполнения. Вот и все для защиты флагов. Глава 3.10.3 в руководстве по процессору Intel.

0 голосов
/ 16 января 2012

Я думаю, что у x86 нет отдельного исполняемого флага, все читаемые страницы являются исполняемыми.Поэтому я предполагаю, что это означает, что ответ «да» (даже если логика обратная).

...