2 releases
new 0.0.1-rc.1 | Nov 6, 2024 |
---|---|
0.0.0 | Oct 30, 2024 |
#384 in Database interfaces
221 downloads per month
Used in vmi-utils
415KB
7.5K
SLoC
Windows OS-specific VMI operations
This crate provides functionality for introspecting Windows-based
virtual machines, working in conjunction with the vmi-core
crate.
It offers abstractions and utilities for navigating Windows kernel
structures, analyzing processes and memory, and performing Windows-specific
VMI tasks.
Features
- Windows kernel structure parsing and navigation
- Process and thread introspection
- Memory management operations (VAD tree traversal, PFN database manipulation)
- Windows object handling (files, sections, etc.)
- PE file format parsing and analysis
Safety Considerations
Many operations in this crate require pausing the VM to ensure consistency. Always pause the VM when performing operations that could be affected by concurrent changes in the guest OS. Be aware of the Windows version you're introspecting, as kernel structures may vary between versions. Handle errors appropriately, as VMI operations can fail due to various reasons (e.g., invalid memory access, incompatible Windows version).
Example
let _guard = vmi.pause_guard()?;
// Perform introspection operations here
// VM automatically resumes when `_guard` goes out of scope
Always consider the potential for race conditions and ensure you're working with a consistent state of the guest OS.
License: MIT
Dependencies
~8–20MB
~261K SLoC