mem_rs/process_module/
read_write.rs1use crate::memory::{BaseReadWrite, ReadWrite};
2use crate::prelude::ProcessModule;
3
4impl BaseReadWrite for ProcessModule
5{
6 fn read_memory_rel(&self, offset: Option<usize>, buffer: &mut [u8]) -> bool
7 {
8 let mut address = self.base_address;
9 if offset.is_some()
10 {
11 address = address + offset.unwrap(); }
13 return self.read_with_handle(self.process_data.borrow().handle, self.process_data.borrow().memory_type.clone(), address, buffer);
14 }
15
16 fn write_memory_rel(&self, offset: Option<usize>, buffer: &[u8]) -> bool
17 {
18 let mut address = self.base_address;
19 if offset.is_some()
20 {
21 address = address + offset.unwrap(); }
23 return self.write_with_handle(self.process_data.borrow().handle, self.process_data.borrow().memory_type.clone(), address, buffer);
24 }
25
26 fn read_memory_abs(&self, address: usize, buffer: &mut [u8]) -> bool
27 {
28 return self.read_with_handle(self.process_data.borrow().handle, self.process_data.borrow().memory_type.clone(), address, buffer);
29 }
30
31 fn write_memory_abs(&self, address: usize, buffer: &[u8]) -> bool
32 {
33 return self.write_with_handle(self.process_data.borrow().handle, self.process_data.borrow().memory_type.clone(), address, buffer);
34 }
35}
36
37impl ReadWrite for ProcessModule{}