vmw_backdoor
A pure-Rust library for VMware host-guest protocol ("VMXh backdoor").
This library provides helpers to access and use the VMware backdoor from a guest VM. It allows bi-directional interactions with the VMWare hypervisor and host environment.
The "backdoor" protocol does not have official specifications, but it has been widely analyzed and there are multiple projects documenting it:
- https://github.com/vmware/open-vm-tools/blob/stable-11.0.5/open-vm-tools/lib/include/backdoor_def.h
- https://wiki.osdev.org/VMware_tools
- https://sysprogs.com/legacy/articles/kdvmware/guestrpc.shtml
- https://github.com/vmware/vmw-guestinfo/tree/master/bdoor
- https://sites.google.com/site/chitchatvmback/backdoor
Example
let is_vmw = is_vmware_cpu;
println!;
let mut guard = access_backdoor.unwrap;
println!;
let found = guard.probe_vmware_backdoor.unwrap_or;
println!;
let mut erpc = guard.open_enhanced_chan.unwrap;
let key = "guestinfo.ignition.config.data";
let guestinfo = erpc.get_guestinfo.unwrap;
if let Some = guestinfo ;
Some more examples are available under examples.
License
Licensed under either of
- MIT license - http://opensource.org/licenses/MIT
- Apache License, Version 2.0 - http://www.apache.org/licenses/LICENSE-2.0
at your option.