4个版本
0.1.5 | 2020年4月27日 |
---|---|
0.1.4 | 2020年4月12日 |
0.1.2 | 2020年4月1日 |
0.1.1 | 2020年3月30日 |
#24 in #simpler
每月35次下载
用于 3 crates
67KB
2K SLoC
一个库,用于读取/写入在KVM中运行的Windows的内存
wintools.h和mem.h提供了大部分可以与Windows VM交互的函数,而hlapi以更简单的方式抽象了一切(需要C++)。
Rust绑定可以在单独的仓库中找到。
编译
最低语言标准:C99 当前示例项目使用C++,需要至少C++11和模板支持,但C版本也存在,可以在C99编译器上正常运行。
使用meson和ninja编译示例程序
使用make编译内核模块
性能
内部(QEMU注入)模式比外部模式快约5倍。然而,可以使用内核模块将QEMU的内存空间映射到外部进程,以减轻性能损失。此外,在执行较大的读取时,memcpy迅速达到峰值速度,外部模式开始赶上。性能数据如下。
常见问题
请确保在KVM虚拟机中使用Q35芯片组,除非它正在运行Windows XP。否则,库可能无法正确工作。如果虚拟机未设置为使用hugepages,则Kmod映射可能无法正常工作或持续很长时间。
许可说明
虽然大多数代码库在MIT许可证下,但内核模块(kmem.c文件)在GNU GPLv2下许可。
依赖关系
~0–2MB
~39K SLoC