扩展页表9月

问题描述

为什么我们不能仅仅获得GPA,然后直接计算真实的物理地址,如第8页的https://www.exploit-db.com/docs/45546所示?我们可以节省很多对内存的访问。

为什么我们需要使用嵌套页面表进行复杂的计算,如第9页的同一链接所示?

我不确定,但是我的猜测是允许更多的寻址空间。如果虚拟机“具有” 4gb虚拟空间和4gb物理空间,那么如果使用第一种方法,则在实际计算机中只能获得4GB的空间。但是我认为我们可以克服它。

解决方法

我明白了! 每个表都位于GPA中,因此,我们需要使用带有eptp的表遍历将其转换为表的PPA !,我们需要为每个表都做它,这就是为什么要进行长页面遍历的原因。 例如,PML4在GPA中,因此我们需要翻译它,依此类推。