A book from this person would be amazing!
The repository contains the materials of a class, so without attending the class or having a rather strong pre-existing knowledge about hypervisors on x86-x64, the material is going to be very hard to follow.
From my PoV, there are definitely better (as in, explained with a lot more details) tutorials online on how to start your hypervisor from scratch which I'd recommend before trying to understand this one (which has some really nice peculiarities such as Fuzzing UEFI with code coverage).
But I really dislike these markdown books used by many rust projects. I wish they just had an option to download it as a PDF, so that I could archive them. The printing button really isn't good enough for that. I mean if everything is already neatly renderd to HTML like that, how hard could it realistically be to also create a good looking PDF version...
But these subjects evolve so fast, that having a bunch of .deadtrees lying around just become a nuisance.
If all I want is some form of archive to look back on later, a bunch of .md files seems perfect.
If you already have the knowledge to understand the notes in the slides, it's probably pointless to you. If you don't, the slides make no sense at all since nothings explained.
What am I missing here that's so great ?
This is a day long course to quickly learn the inner working of hypervisors and techniques to write them for high-performance fuzzing.
This course covers foundation of hardware-assisted virtualization technologies, such as VMCS/VMCB, guest-host world switches, EPT/NPT, as well as useful features and techniques such as exception interception for virtual machine introspection for fuzzing.
The class is made up of lectures using the materials within this directory and hands-on exercises with source code under the Hypervisor-101-in-Rust/hypervisor
directory.
This lecture materials are written for the gcc2023
branch, which notionally have incomplete code for step-by-step exercises. Check out the starting point of the branch as below to go over hands-on exercises before you start.
git checkout b17a59dd634a7b0c2b9a6d493fc9b0ff22dcfce5