Git Product home page Git Product logo

hypervisor-for-beginners's Introduction

hypervisor-for-beginners

For the beginner aspiring to write a simple hypervisor.

This hypervisor is Intel VT-x/EPT based thin hypervisor for windows with minimal code. The hypervisor demonstrates the basics:

  1. programmatically check hardware features that support virtualization.
  2. initialize Virtual Machine Control Structure (VMCS).
  3. initialize Extended Page Table (EPT).
  4. setting up stack for vmm.
  5. instantiating virtualization on multiple-processors.
  6. handling vm-exits.

BUILD Environment:

  1. Visual Studio Community Edition 2015 with update 3
  2. Windows 10 SDK
  3. Windows 10 WDK

Installation and UnInstallation

  1. Clone/Download the source code and compile it in Visual Studio.
  2. To install do: 2.1) Open cmd.exe as adminstrator and then: 2.1.1) bcdedit /set testsigning on 2.1.2) sc create hypervisor type= kernel binpath= c:/Users//desktop/hypervisor.sys 2.1.3) sc start hypervisor
  3. To uninstall do: 3.1) Open cmd.exe as administrator and then: 3.1.1) sc stop hypervisor 3.1.2) sc delete hypervisor

All logs are currently printed to Dbgview.

Supported platforms: The hypervisor has been tested on windows 7 x64 in vmware vmplayer 12 with virtualization enabled.

hypervisor-for-beginners's People

Contributors

rohaaan avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.