如果虚拟内存页是可执行的,是否意味着它是可读的?

发布于 2024-12-27 08:59:36 字数 59 浏览 1 评论 0原文

如果我在 x86 系统上创建了一个虚拟内存页面,并将页面保护设置为仅可执行,是否意味着该页面也是可读的?

If I created a virtual memory page on a x86 system with the page protection set to only executable, would it imply that the page is also readable?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

ゃ懵逼小萝莉 2025-01-03 08:59:36

假设 IA-32e 模式:是的,页表条目没有禁止读取的位,仅禁止写入(位 1,R/W)。假设位 2(U/S,用户/监管)允许访问,页面始终可读。位 63,EXB 是执行禁止位。这就是保护标志。 Intel 处理器手册中的第 3.10.3 章。

Assuming IA-32e mode: yes, a page table entry has no bit that inhibits reading, only writing (bit 1, R/W). Pages are always readable, assuming bit 2 (U/S, User/Supervisory) allows access. Bit 63, EXB is the Execute Inhibit bit. That's it for protection flags. Chapter 3.10.3 in the Intel processor manual.

不奢求什么 2025-01-03 08:59:36

我认为 x86 没有单独的可执行标志,所有可读页面都是可执行的。所以我想这意味着答案是“是”(即使逻辑是倒退的)。

I think the x86 doesn't have a seperate executable flag, all readable pages are executable. So I guess that means the answer is "yes" (even if the logic is backwards).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文