libwhp

Windows Hypervisor Platform API for Rust: https://docs.microsoft.com/en-us/virtualization/api/

This crate takes advantage of the safety, lifetime, memory management and error handling features available in Rust while retaining the original design of the native Windows Hypervisor Platform (WHP) API.

Prerequisites

Make sure to have at least:

Enable the Windows Hypervisor Platform and reboot:

Dism /Online /Enable-Feature /FeatureName:HypervisorPlatform shutdown /r /t 0

Last but not least, install Rust on Windows.

Running the demo example

  1. Clone the project's repository: git clone https://github.com/insula-rs/libwhp cd libwhp

  2. This example includes a payload (the "guest" binary) that needs to be compiled using GCC, e.g. with WSL (Windows Subsystem for Linux). All we need is make, gcc and ld. On Ubuntu:

wsl sudo apt-get update wsl sudo apt-get dist-upgrade -y wsl sudo apt-get install gcc make binutils -y

  1. Build the payload:

pushd examples\payload wsl make popd

  1. Build and run the example:

cargo run --example demo

Here's what it does: