improve project structure (i think)

This commit is contained in:
2025-12-03 12:36:45 +00:00
parent 432ec8adea
commit a9a1c4870c
8 changed files with 21 additions and 28 deletions
+29
View File
@@ -0,0 +1,29 @@
use crate::{sys::handle::Handle, Error};
use std::{ffi::c_void, ptr};
use windows::Win32::System::Diagnostics::Debug::{ReadProcessMemory, WriteProcessMemory};
pub fn read<T>(handle: &Handle, address: usize, value: &mut T) -> Result<(), Error> {
unsafe {
ReadProcessMemory(
handle.0,
address as *const c_void,
(ptr::from_mut::<T>(value)).cast::<c_void>(),
size_of::<T>(),
None,
)
}
.map_err(|why| Error::AccessMemoryError(format!("failed to read memory: {why}")))
}
pub fn write<T>(handle: &Handle, address: usize, value: &mut T) -> Result<(), Error> {
unsafe {
WriteProcessMemory(
handle.0,
address as *const c_void,
(ptr::from_mut::<T>(value)).cast::<c_void>(),
size_of::<T>(),
None,
)
}
.map_err(|why| Error::AccessMemoryError(format!("failed to write memory: {why}")))
}