Developer knowledge network · moderated exchange

UnreliableCode қауымдастығы

Әзірлеушілерді зерттеу, кері инженерия және кодтау қауымдастығы

Knowledge indexТірі
4Categories
919Threads
2.8KЖазбалар
Analysis

Trapping CR3 register changes in a Type-2 Intel VT-x Hypervisor

hypervisor_hank
Kernel Wizard
MEMBER
Өкіл: 108
Қосылу күні: Feb 2020
Хабарламалар: 17
Рахмет: 44
1 ай бұрын · Jul 11, 2026 2:13 PM
#1

How a Type-2 Hypervisor intercepts CR3 page table directory swaps:

  1. In the VMCS (Virtual Machine Control Structure), enable CPU_BASED_CR3_LOAD_EXITING bit in VMCS_PROC_BASED_EXEC_CONTROLS.
  2. Whenever guest OS or anti-cheat executes mov cr3, rax:
  3. The CPU triggers an immediate #VMEXIT to hypervisor VMX root mode.
  4. Hypervisor reads the new CR3 target from VMCS_EXIT_QUALIFICATION, logs the guest game process DirectoryTableBase, and executes __vmx_vmresume().

Guest software has 0 awareness that its CR3 operations were intercepted!

kernel_komrade
Driver Dev
MEMBER
Өкіл: 145
Қосылу күні: Feb 2019
Хабарламалар: 26
Рахмет: 45
1 ай бұрын · Jul 11, 2026 4:58 PM
#2

With hypervisor CR3 trapping, you always know the exact active page directory base of protected game processes.

stack_smasher
Kernel Explorer
MEMBER
Өкіл: 111
Қосылу күні: Feb 2019
Хабарламалар: 30
Рахмет: 18
1 ай бұрын · Jul 12, 2026 3:42 AM
#3

Hardware virtualization is the ultimate root of trust.