pub struct KmProcess { /* private fields */ }Expand description
kernel process wrapper for memory operations
Implementations§
Source§impl KmProcess
impl KmProcess
Sourcepub fn read_bytes(&mut self, address: u64, buffer: &mut [u8]) -> KmResult<usize>
pub fn read_bytes(&mut self, address: u64, buffer: &mut [u8]) -> KmResult<usize>
read bytes from process
Sourcepub fn write<T: Copy>(&mut self, address: u64, value: &T) -> KmResult<()>
pub fn write<T: Copy>(&mut self, address: u64, value: &T) -> KmResult<()>
write memory to process
Sourcepub fn write_bytes(&mut self, address: u64, buffer: &[u8]) -> KmResult<usize>
pub fn write_bytes(&mut self, address: u64, buffer: &[u8]) -> KmResult<usize>
write bytes to process
Sourcepub fn allocate(
&mut self,
size: usize,
protection: u32,
preferred_address: Option<u64>,
) -> KmResult<u64>
pub fn allocate( &mut self, size: usize, protection: u32, preferred_address: Option<u64>, ) -> KmResult<u64>
allocate virtual memory in process
Sourcepub fn protect(
&mut self,
address: u64,
size: usize,
protection: u32,
) -> KmResult<u32>
pub fn protect( &mut self, address: u64, size: usize, protection: u32, ) -> KmResult<u32>
change memory protection
Sourcepub fn get_module_base(&mut self, module_name: &[u16]) -> KmResult<u64>
pub fn get_module_base(&mut self, module_name: &[u16]) -> KmResult<u64>
get module base address by name
Trait Implementations§
Auto Trait Implementations§
impl Freeze for KmProcess
impl RefUnwindSafe for KmProcess
impl !Send for KmProcess
impl !Sync for KmProcess
impl Unpin for KmProcess
impl UnwindSafe for KmProcess
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more