explaingit

whosstyler/type2-amd-hv

20CAudience · developerComplexity · 5/5Setup · hard

TLDR

A type-2 hypervisor for Windows running exclusively on AMD processors that places the live OS into a guest VM, enabling low-level memory inspection, page hooking, and hidden physical memory allocation below the OS.

Mindmap

mindmap
  root((type2-amd-hv))
    What it does
      Runs under Windows
      Virtualizes live OS
      Hides from guest OS
    Capabilities
      Process memory read-write
      Memory page hooking
      Hidden memory allocator
    Requirements
      AMD processor only
      Unsigned driver loader
      Windows host
    Audience
      Systems researchers
      Security engineers
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Study AMD virtualization hardware by reading a working hypervisor built directly from AMD architecture manuals

USE CASE 2

Build a research substrate for observing or modifying Windows process memory below the OS layer

USE CASE 3

Experiment with memory-page hooking so that code reading a page sees different content than code executing it

Tech stack

CAMD SVMWindows Driver

Getting it running

Difficulty · hard Time to first run · 1day+

Requires a third-party unsigned driver loader because Windows blocks loading of unsigned kernel drivers.

No license information is stated in the repository.

In plain English

This is a hypervisor for Windows, written in C, that works exclusively on AMD processors. A hypervisor is a piece of software that can take control of a computer at a level below the operating system. Once this one loads, Windows keeps running normally but the hypervisor is now sitting underneath it, able to observe and intercept certain operations. The term "type-2" in the name refers to classification: a type-2 hypervisor runs inside an existing operating system rather than replacing it at boot. Here the trick is that after loading, the hypervisor places the already-running Windows instance into a guest virtual machine while the hypervisor itself takes the host position. From that point on, Windows does not know it is running inside a container. The project requires a third-party driver loader to get started because Windows refuses to load drivers that have not been signed through its normal process. This repository only provides the hypervisor itself, not the loader. Once running, the hypervisor exposes a small set of capabilities. It can read and write memory in any process on the system by directly walking the processor's memory translation tables, bypassing normal operating system checks. It can hook memory pages so that code reading a page and code executing that page see different content. It can hide memory ranges from outside observers. It also includes a special allocator that claims physical memory that Windows never knew existed, so the hypervisor's own data structures do not appear in any list the operating system tracks. The README is explicit that this is a substrate: the technical building blocks are here, but it does not include any anti-cheat bypass code, mouse injection, API spoofing, or similar functionality. The author wrote it while studying the AMD processor architecture manuals and includes references to those documents throughout the source code. Comments and documentation vary in depth across different files.

Copy-paste prompts

Prompt 1
I am studying the whosstyler/type2-amd-hv codebase. Explain how a type-2 hypervisor transitions a running Windows OS into a guest VM using AMD SVM VMCB structures.
Prompt 2
Show me how whosstyler/type2-amd-hv walks AMD nested page tables to read and write memory of an arbitrary Windows process without calling any OS API.
Prompt 3
I want to understand the hidden physical memory allocator in whosstyler/type2-amd-hv. How does it claim physical memory pages that Windows never tracks?
Prompt 4
Explain the page-hooking mechanism in whosstyler/type2-amd-hv: how can the same physical page return different content to a reader versus an executor?
Open on GitHub → Explain another repo

← whosstyler on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.