/krakensvm-mg

A simple x86_64 AMD-v hypervisor type-2 Programmed with C++, with soon to be added syscall hooks. [W.I.P]

Primary LanguageC++MIT LicenseMIT

KrakenSvm

Motativation

This was apart of my "Understanding of OS theoretical concepts" and emulator series. I enjoy my time with this project, if you're interested in AMD virtualization then read chapter 15 of the amd manual.

Warning

This project is yet to be finished nor will it be finished anytime soon. It's still a W.I.P so there maybe errors, so feel free to report any if possible. Syscall Hooks aren't finished yet.

Projects that used my code:

TODO List:

  • Finish setting up IPI
  • Finish up the SYSCALL Hooking
  • Add fast page hooking

Credit - Special Thanks:

Thanks to these OGs, for the spark of inspiration/support and just being good friends/acquaintances overall on my continuous effort on this project and for helping me understand certain concepts within HyperVisor development Journey. =)

  • xeroxz - Helping explain concepts around HV and allowing me to use his code semantics for his amazing Hypervisor project
  • Daax - His big brain coming in clutch like always. He's given me a great layout on the semantics of a AMD HyperVisor and his approach on it, sharing resources left and right. Even answered my most trivial questions. Daax never misses
  • horsie - sharing some resource
  • tandasat - Amazing resource
  • Irql0 - explaining certain Windows kernel driver, OS concepts and getting me out of tough assembly problems
  • iPower - sharing an approach to hooking System Calls and helping fix my VMCB issues
  • Matthias - For providing information that lead me on to fixing a VMEXIT_INVALID bug i came across and for going out of his way to even debug my HyperVisor to point logic issues and errors. Thank you so much
  • Jason
  • Luminous

Reference - Resource I relied on: