Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/Wenzel/libmicrovmi
A cross-platform unified Virtual Machine Introspection API library
https://github.com/Wenzel/libmicrovmi
emulators hypervisors hypervisors-apis introspection rust vmi vmi-api
Last synced: about 1 month ago
JSON representation
A cross-platform unified Virtual Machine Introspection API library
- Host: GitHub
- URL: https://github.com/Wenzel/libmicrovmi
- Owner: Wenzel
- License: gpl-3.0
- Created: 2019-05-24T18:38:16.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2024-09-03T21:59:46.000Z (3 months ago)
- Last Synced: 2024-10-02T00:10:02.887Z (2 months ago)
- Topics: emulators, hypervisors, hypervisors-apis, introspection, rust, vmi, vmi-api
- Language: Rust
- Homepage: https://wenzel.github.io/libmicrovmi/
- Size: 2.42 MB
- Stars: 165
- Watchers: 8
- Forks: 15
- Open Issues: 35
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-qubes-os - Microlibvmi - A cross-platform unified Virtual Machine Introspection API library. (Exploitation Tools / Unikernel-like)
README
# libmicrovmi
A cross-platform unified Virtual Machine Introspection API library
## Table of Contents
- [Overview](#overview)
- [Project Status](#project-status)
- [Getting Started](#getting-started)
- [Documentation](#documentation)
- [Maintainers](#maintainers)
- [License](#license)## Overview
`libmicrovmi` aims to provide a cross-platform unified _Virtual Machine Introspection_ API. (See [What's VMI ?](https://wenzel.github.io/libmicrovmi/explanation/vmi_api.html))
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](https://www.ndss-symposium.org/ndss2003/virtual-machine-introspection-based-architecture-intrusion-detection/),
yet the ecosystem is still heavily fragmented and lacks standards as well as interoperability. (See [VMI Ecosystem Fragmentation](https://wenzel.github.io/libmicrovmi/explanation/vmi_ecosystem.html))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.![libmicrovmi_image](https://user-images.githubusercontent.com/964610/110927584-1dfc4500-8326-11eb-9ed5-a0732296082b.png)
## Project Status
Below you can find a table describing the apps and drivers that can be used
with libmicrovmi.
App
Driver
API
Platform
- ✅ Linux
- ✅ Windows
- 🔲 MacOS
Legend:
- ✅: full support
- 🟧: partial support
- 🔲: TODO
## Getting Started
The documentation is here to guide you, whether you are a *user* or *developer*.
User
[![User documentation](https://user-images.githubusercontent.com/964610/134169948-bf8de1df-6169-4c5a-918a-04bf71fc7c61.png)](https://wenzel.github.io/libmicrovmi/tutorial/installation.html)
- 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
[![Developer documentation](https://user-images.githubusercontent.com/964610/134168828-85f2cf4b-1d4f-455b-af10-f0ba8c49eb05.png)](https://wenzel.github.io/libmicrovmi/developer/libmicrovmi.html)
- 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 [![online_docs](https://img.shields.io/badge/Online-Documentation-green)](https://wenzel.github.io/libmicrovmi/)
You can find it at `doc/` as an [`mdbook`](https://rust-lang.github.io/mdBook/) 📖
To build the docs locally:
~~~
$ cargo install mdbook
$ mdbook build doc
$ xdg-open doc/book/index.html
~~~
## Maintainers
- [@Wenzel](https://github.com/Wenzel)
- [@rageagainsthepc](https://github.com/rageagainsthepc)
## License
[GNU General Public License v3.0](https://github.com/Wenzel/pyvmidbg/blob/master/LICENSE)