gpt4 book ai didi

linux - 一种在 protected 环境 (x86-64) 中运行汇编代码的方法

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

我正在尝试用 C++ 创建一个 Linux 软件,它需要在 x86 和 x86-64 处理器上的 protected 环境中运行代码。

我的问题是找到一种在 protected 环境中运行代码的方法,首先,仅在 x86-64 上(这是处理器工作方式的技术部分),我看到了本地描述符表,但我发现它不再有效在 x86-64 上。我也听说过Intel VT技术,但是文档好像很复杂。

您是否知道在进程内的 Linux 和 x86-64 protected 环境中运行代码的方法?

我的目标是在 linux 进程中创建类似操作系统的东西。

与 Windows 或 Linux 一样,我希望在我的 protected 环境中运行的程序不访问我的部分软件,并在需要时进行系统调用。我相信我已经找到了这样做的方法,我在下面解释。

最佳答案

我找到了一种方法来做我想做的事:

每次我的程序从main部分切换到里面的程序时,它会使用mprotect(Linux上Glibc的一个功能)来改变对进程很多部分内存的访问权限。

每次里面的程序都会对我的程序进行系统调用,它会变回访问内存的权限。

你可能认为它仍然是安全问题,因为里面的程序可以运行任何类型的代码并访问 linux 的系统调用,因此可以访问不允许的东西。但我相信我可以使用一个技巧来禁止内部代码启动任何类型的操作码。

关于linux - 一种在 protected 环境 (x86-64) 中运行汇编代码的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49276651/

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