如何得到一个存储区的保护标志,标志是PROT_READ / PROT_EXEC中则mprotect

我用mprotect的()来设置保护标志的存储区域。 后来,我想恢复这个内存区的保护标志。

我的问题是,如何让一个存储区的保护标志? 标志inclue PROT_READ ...

我的解决方法是解析的/ proc /自/手动映射。 但这种解决方案是笨拙的...

我不知道是否有任何的系统调用,我可以使用。

--------------解决方案-------------

总的来说这是唯一的办法。 POSIX不提供一种方法来访问的保护。 当您对一个映射在页面的代码控制应用程序特定的用途,你可以把它保存在某个地方的标志在那个时候,但一般而言,您必须阅读/proc/self/maps 。 此外,您可能希望退回到一些默认的权限,如果你看不懂/procPROT_READ|PROT_WRITE可能是对大多数事情,但在某些情况下,你可能还需要一个合理的默认PROT_EXEC

分类:C# 时间:2015-03-15 人气:0
本文关键词: 系统调用,则mprotect
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.377 (s). 10 q(s)