This article uses the SourcePoint JTAG debugger to explore the very earliest part of the Windows boot flow, where the Secure Kernel is initialized in VTL 0 by the Windows and Hypervisor loaders.
In the last couple of articles in this series, Iโve focused on basic run-control debugging used in conjunction with Intel Processor Trace (Intel PT). In this installment, weโll start looking at the use of Architectural Event Trace (AET) to explore the Windows hypervisor, and how MSR accesses in particular are handled.
In this article, weโll look at some of the fields within the VMCS, and change them to combat some of the mitigations against instruction trace within Windows.
In Part 1 of this article series, I demonstrated the use of EXDI with DCI to explore the Windows hypervisor. In this article, weโll take a first look at the Windows Secure Kernel.
Iโm having a tremendous amount of fun learning about Windows internals with the new support of WinDbg via our SourcePoint JTAG debugger. This is a multi-part series on exploring some of the undebuggable code within the Windows hypervisor and secure kernel.
An advanced tutorial on the timestamp correlation of Windows kernel event and instruction trace, using Intel Processor Trace and Architectural Event Trace.