cannonball
cannonball copied to clipboard
Deprecated! Use qemu-rs instead :)
Cannonball 💣
DEPRECATION NOTICE
This project has been superceded by the qemu-plugin bindings provided by the qemu-rs project.
Cannonball is a framework for building QEMU plugins in Rust! Anything you can do in
a QEMU TCG plugin in C, you can do with cannonball.
Write plugins that run with minimal overhead and as much functionality as you can dream of!
Examples
There are a couple examples provided here!
jaivanaA simple tracer that logs a configurable set of events to a file or stdout.mons megA tracer that logs the same events as Jaivana, but uses Tokio to run the trace in an async environment, with communication with the host over a UNIX socket instead of anonymous pipes.
Take a look at them, they are the best way to learn how to use this framework.
Installation
Just add this to your Cargo.toml:
cannonball = "0.2.4"
Example
Here's a quick recording of the Jaivana example plugin and driver!