题主的想法是:把内存映射的地址换个地方,把新的栈指针指过去。目的是为了动态调整栈的位置吧?
但这种做法不可取,也不可能实现。
首先esp的值不仅仅保存在esp里,换句话说,指向栈上的东西,不仅仅是只有esp,比如ebp也是可以用来做寻址的。甚至在内存里,多级指针都是指向旧的内存区域,你不可能也没办法把这些内存里的数据都指向新的栈空间,因为对于内存来说,都是一个一个数值,它是指针,还是一个整型数,没人知道。
所以, 跟权限无关,你这个思路本身就是错的。