libmicrovmi
A cross-platform unified Virtual Machine Introspection API library
Table of Contents
Overview
libmicrovmi
aims to provide a cross-platform unified Virtual Machine Introspection API. (See What's VMI ?)
The term micro (μ) refers to the library's simplicity as well as the letter U
standing for Unified
interface.
Virtual Machine Introspection has been around since 2003, yet the ecosystem is still heavily fragmented and lacks standards as well as interoperability. (See VMI Ecosystem Fragmentation)
The main objective is to provide the simplest virtual machine introspection abstraction, offering a standard API to interact with any VMI provider, with a high degree of compatibility and composability to be integrated with any high-level VMI application.
Project Status
Below you can find a table describing the apps and drivers that can be used with libmicrovmi.
App | Driver |
---|---|
API | Platform |
---|---|
|
Legend:
- ✅: full support
- 🟧: partial support
- 🔲: TODO
Getting Started
The documentation is here to guide you, whether you are a user or developer.
User
- I would like to install libmicrovmi on my system
- I would like to know how to setup my VMI app with libmicrovmi
- I would like to know which drivers are available and how to initialize them
Developer
- I am developing a memory forensic / VM introspection app, and I want an API that supports multiple hypervisors at glance
- I want to add a new driver for libmicrovmi
Documentation
Our documentation is hosted online at
You can find it at doc/
as an mdbook
📖
To build the docs locally:
$ cargo install mdbook
$ mdbook build doc
$ xdg-open doc/book/index.html