百科问答小站 logo
百科问答小站 font logo



为什么修改esp寄存器会触发异常? 第1页

  

user avatar   bei-ji-85 网友的相关建议: 
      

题主的想法是:把内存映射的地址换个地方,把新的栈指针指过去。目的是为了动态调整栈的位置吧?

但这种做法不可取,也不可能实现。

首先esp的值不仅仅保存在esp里,换句话说,指向栈上的东西,不仅仅是只有esp,比如ebp也是可以用来做寻址的。甚至在内存里,多级指针都是指向旧的内存区域,你不可能也没办法把这些内存里的数据都指向新的栈空间,因为对于内存来说,都是一个一个数值,它是指针,还是一个整型数,没人知道。

所以, 跟权限无关,你这个思路本身就是错的。




  

相关话题

  如何看待华为称其对 Linux 贡献全球第一,Linux 内核审核员呼吁华为公司不要刷 KPI ? 
  鸿蒙 OS 2.0 正式发布,能否与Android,iOS三足鼎立? 
  把 string 当 enum 用,有性能损失吗? 
  Linux中本机和本机Socket通信会走网卡吗? 
  从操作系统内存管理来说,malloc申请一块内存的背后原理是什么? 
  为什么win10不出一个mini.iso版本的镜像,安装过程实时在线下载? 
  想买个域名然后搭建一个网站,需要哪些东西?,特别是主机服务器问题,请有经验的帮指点下,谢谢了 
  linux的TCP连接数量最大不能超过65535个,那服务器是如何应对百万千万的并发的? 
  8086CPU的16位数据线如何传送大于16位的数据? 
  windows系统为什么不预留一点资源(cpu和内存占用),在执行繁重任务时以保证系统本身的流畅运行? 

前一个讨论
为什么不把push ebp和mov ebp, esp的操作通过硬件方式做进call指令中?
下一个讨论
linux内核切换成分页模式后,ljmp $__BOOT_CS,$1f 这行代码有什么意思?





© 2024-12-22 - tinynew.org. All Rights Reserved.
© 2024-12-22 - tinynew.org. 保留所有权利