我可以在 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|
假设我学会了如何保护页面,那么我如何在页面附近声明一个数组,以便数组端点位于页面旁边。?