Linux内存管理

5

有没有办法标记一个页面只能执行而不能读取?(即可以在该页面上执行指令,但没有该可执行页面的读权限。)

我的最终目标是创建一个我可以执行但其他进程无法访问数据的页面。


1
只是出于好奇,您打算如何在不读取页面的情况下允许执行权限呢?我的意思是...您需要阅读指令才能执行它们,对吧? - Platinum Azure
1个回答

4

正如在mprotect()手册页面中提到的那样,这是一个取决于内核和硬件的事情:

PROT_EXEC是否与PROT_READ有不同的影响,取决于架构和内核版本。

在最近的Linux/x86内核上,如果你的CPU支持NX-bit,这些标志肯定是离散的。在其他x86 CPU上,这取决于你的内核是否支持Exec-Shield或另一种类似的NX-bit仿真。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接