8个版本
0.2.4 | 2023年6月2日 |
---|---|
0.2.3 | 2022年11月29日 |
0.2.1 | 2021年4月19日 |
0.2.0 | 2020年10月8日 |
0.1.1 | 2020年3月26日 |
#246 in 网络编程
3,903每月下载量
用于afterburn
27KB
599 行
vmw_backdoor
一个纯Rust库,用于VMware主机-虚拟机协议("VMXh后门")。
此库提供从虚拟机访问和使用VMware后门的辅助工具。它允许与VMware虚拟机管理程序和主机环境的双向交互。
"后门"协议没有官方规范,但它已经被广泛分析,并且有多个项目对其进行了记录
- 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
示例
let is_vmw = vmw_backdoor::is_vmware_cpu();
println!("VMware CPU detected: {}.", is_vmw);
let mut guard = vmw_backdoor::access_backdoor().unwrap();
println!("Raised I/O access to reach backdoor port.");
let found = guard.probe_vmware_backdoor().unwrap_or(false);
println!("VMware backdoor detected: {}.", found);
let mut erpc = guard.open_enhanced_chan().unwrap();
let key = "guestinfo.ignition.config.data";
let guestinfo = erpc.get_guestinfo(key.as_bytes()).unwrap();
if let Some(val) = guestinfo {
println!("Got value for key '{}':", key);
println!("{}", String::from_utf8_lossy(&val));
};
更多示例可以在示例下找到。
许可证
根据您的选择,许可为以下之一
- MIT许可证 - http://opensource.org/licenses/MIT
- Apache许可证,版本2.0 - https://apache.ac.cn/licenses/LICENSE-2.0
。
依赖项
~0.4–8.5MB
~65K SLoC