根据VMWare发布的白皮书,二进制翻译技术仅用于内核(环0代码),环3代码在cpu硬件上“直接执行”。
正如我所观察到的,无论客户操作系统中运行了多少进程,主机操作系统中始终只有 1 个进程。所以我假设所有 guest ring 3 代码都在单个主机进程上下文中运行。(对于 VMWare,它是 vmware-vmx.exe)。
所以我的问题是,你如何在一个进程中本地执行这么多环 3 代码?考虑到大部分windows exe文件不包含重定位信息,它不能在其他地方执行,并且ring3代码中没有使用二进制翻译。
谢谢。