gpt4 book ai didi

c++ - 最后 5 个元素的读取访问权限

转载 作者:行者123 更新时间:2023-11-30 21:41:25 28 4
gpt4 key购买 nike

我可以在 C/C++ 中设置/禁用普通数组最后几个元素的读(或写)访问权限吗?由于我无法使用其他进程的内存,我怀疑这是可能的,但如何实现呢?我用谷歌搜索但找不到。

如果可以,怎样做?

因为我想尝试这样的事情:

SetPrivilage(arr,LAST_5_ELEMENTS,false);

try
{
for(int i=0;;i++) //without bound checking. i know its evil. just trying if it is possible
{
arr[i]++; //array is 1-billion elements
}
}
catch(int catch_end_of_array)
{
printf("array-inc complete");
}

Memory:

|start of array |00|01|02|03|04|05|06|07|..|..|1B|start of protected page|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|

假设我学习了如何保护页面,那么我如何在页面附近声明一个数组,以便数组端点将位于页面旁边。 ?

最佳答案

这不能以可移植方式完成,并且取决于您的操作系统。我怀疑这在任何地方都是不可能的,因为内存保护通常在更粗略的级别上运行(例如 Linux 有 mprotect 系统调用,但这只能保护整个页面(通常是 4k block ),而不是任意的范围。

关于c++ - 最后 5 个元素的读取访问权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12261103/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com