Trait mem_rs::read_write::BaseReadWrite
source · pub trait BaseReadWrite {
// Required methods
fn read_memory_rel(&self, offset: Option<usize>, buffer: &mut [u8]) -> bool;
fn write_memory_rel(&self, offset: Option<usize>, buffer: &[u8]) -> bool;
fn read_memory_abs(&self, address: usize, buffer: &mut [u8]) -> bool;
fn write_memory_abs(&self, address: usize, buffer: &[u8]) -> bool;
// Provided methods
fn read_with_handle(
&self,
handle: HANDLE,
address: usize,
buffer: &mut [u8]
) -> bool { ... }
fn write_with_handle(
&self,
handle: HANDLE,
address: usize,
buffer: &[u8]
) -> bool { ... }
}
Required Methods§
sourcefn read_memory_rel(&self, offset: Option<usize>, buffer: &mut [u8]) -> bool
fn read_memory_rel(&self, offset: Option<usize>, buffer: &mut [u8]) -> bool
Read memory relative to the object’s location in memory. Supports an optional offset.
§Example
use mem_rs::prelude::*;
let mut process = Process::new("name_of_process.exe");
process.refresh()?;
let pointer = process.create_pointer(0x1234, vec![0]);
let mut buffer: [u8; 8] = [0; 8];
let success = pointer.read_memory_rel(Some(0x1234), &mut buffer);
sourcefn write_memory_rel(&self, offset: Option<usize>, buffer: &[u8]) -> bool
fn write_memory_rel(&self, offset: Option<usize>, buffer: &[u8]) -> bool
Write memory relative to the object’s location in memory. Supports an optional offset.
§Example
use mem_rs::prelude::*;
let mut process = Process::new("name_of_process.exe");
process.refresh()?;
let pointer = process.create_pointer(0x1234, vec![0]);
let mut buffer: [u8; 4] = [0x1, 0x2, 0x3, 0x4];
let success = pointer.write_memory_rel(Some(0x1234), &mut buffer);
sourcefn read_memory_abs(&self, address: usize, buffer: &mut [u8]) -> bool
fn read_memory_abs(&self, address: usize, buffer: &mut [u8]) -> bool
Read memory from an absolute address
§Example
use mem_rs::prelude::*;
let mut process = Process::new("name_of_process.exe");
process.refresh()?;
let pointer = process.create_pointer(0x1234, vec![0]);
let mut buffer: [u8; 8] = [0; 8];
let success = pointer.read_memory_abs(0x1234, &mut buffer);
sourcefn write_memory_abs(&self, address: usize, buffer: &[u8]) -> bool
fn write_memory_abs(&self, address: usize, buffer: &[u8]) -> bool
Write memory to an absolute address
§Example
use mem_rs::prelude::*;
let mut process = Process::new("name_of_process.exe");
process.refresh()?;
let pointer = process.create_pointer(0x1234, vec![0]);
let mut buffer: [u8; 4] = [0x1, 0x2, 0x3, 0x4];
let success = pointer.write_memory_abs(0x1234, &mut buffer);
Provided Methods§
sourcefn read_with_handle(
&self,
handle: HANDLE,
address: usize,
buffer: &mut [u8]
) -> bool
fn read_with_handle( &self, handle: HANDLE, address: usize, buffer: &mut [u8] ) -> bool
Read memory into a buffer from a process handle
sourcefn write_with_handle(
&self,
handle: HANDLE,
address: usize,
buffer: &[u8]
) -> bool
fn write_with_handle( &self, handle: HANDLE, address: usize, buffer: &[u8] ) -> bool
Write from a buffer ino memory from a process handle