3

在此处输入图像描述

这是英特尔架构手册中的一个数字。在 x86 32 位页表条目中,指示页面是否可执行的位在哪里?

如果它不在这里,操作系统如何为 exec 设置内存权限?有类似 mmap 功能的东西吗?

4

1 回答 1

2

AFAIK,如果页面可读,则页面是可执行的,因此它们都是可执行的。但是,您在这里可能会想到的是,有些页面设置了非执行位。嗯,这是一个软件破解,从内核完成。引入此技术是为了避免基于 stackoverflow 的攻击,方法是使特定页面(vm 区域)不可执行。

于 2013-10-21T04:59:54.860 回答