gpt4 book ai didi

c - 非法内存读取或跳转后恢复IP寄存器

转载 作者:太空宇宙 更新时间:2023-11-04 06:20:10 29 4
gpt4 key购买 nike

指令指针寄存器如何从错误读取或错误跳转中恢复?内核调用 init 代码,该代码将调用 main() 程序。如果 main() 程序发生堆栈溢出或其他任何情况,并且 RIP/EIP/IP 充满垃圾,操作系统如何恢复 CPU 寄存器?

CPU 只有一个指令指针对吗?因此,在我看来,从溢出中恢复似乎是不可能的。

最佳答案

是的,如果 IP 被破坏并导致错误,则只有坏值是已知的。目前还不清楚“从溢出中恢复”是什么意思。当然,操作系统的故障处理程序有一个明确定义的地址,CPU 会去那里,因此 IP 将从那时起被明确定义。操作系统可能决定终止进程,或者如果程序安装了信号/异常处理程序,操作系统将确保它被调用。然后,此处理程序可以使用适当的值加载 IP。

关于c - 非法内存读取或跳转后恢复IP寄存器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36861705/

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