gpt4 book ai didi

virtual-machine - 如何以编程方式检测我在哪个环(-1、0、1、2、3)中运行?

转载 作者:行者123 更新时间:2023-12-01 08:20:32 24 4
gpt4 key购买 nike

如何以编程方式检测我在哪个环(-1、0、1、2、3)中运行?

最佳答案

最简单的方法是,只运行 (x86) 命令并捕获相应的错误。

例如。 (SEH、Windows、内核模式)

bool ring_lower_0 = false;
__try
{
__asm { <cmd> };
ring_lower_0 = true;
}
__except( GetExceptionCode() == EXCEPTION_PRIV_INSTRUCTION )
{
ring_lower_0 = false;
}

笔记:

cmd,是一个汇编命令。有关命令列表及其各自的环级别,请参阅英特尔架构引用手册。

Linux 的概念略有不同。

但请记住,驻留在较低级别的 VM 可能会通过模拟调用来掩盖结果。

(注意:VM 的工作是将无效指令转换为有意义的调用)

如果你真的想检查你的虚拟化并因此想要停止执行,你应该阅读关于“红药丸”的文章。

关于virtual-machine - 如何以编程方式检测我在哪个环(-1、0、1、2、3)中运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1086722/

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