pub struct DriverClient { /* private fields */ }Expand description
high-level driver client
Implementations§
Source§impl DriverClient
impl DriverClient
Sourcepub fn connect(device_name: &str) -> ClientResult<Self>
pub fn connect(device_name: &str) -> ClientResult<Self>
connect to driver
Sourcepub fn handle(&self) -> &DriverHandle
pub fn handle(&self) -> &DriverHandle
get underlying handle
Sourcepub fn open_process(&self, pid: u32) -> ClientResult<ProcessOps<'_>>
pub fn open_process(&self, pid: u32) -> ClientResult<ProcessOps<'_>>
open process for memory operations
Sourcepub fn read_process_memory<T: Copy>(
&self,
pid: u32,
address: u64,
) -> ClientResult<T>
pub fn read_process_memory<T: Copy>( &self, pid: u32, address: u64, ) -> ClientResult<T>
read value from remote process
Sourcepub fn write_process_memory<T: Copy>(
&self,
pid: u32,
address: u64,
value: &T,
) -> ClientResult<()>
pub fn write_process_memory<T: Copy>( &self, pid: u32, address: u64, value: &T, ) -> ClientResult<()>
write value to remote process
Sourcepub fn get_module_base(&self, pid: u32, module_name: &str) -> ClientResult<u64>
pub fn get_module_base(&self, pid: u32, module_name: &str) -> ClientResult<u64>
get module base address
Sourcepub fn allocate_memory(
&self,
pid: u32,
size: u64,
protection: u32,
) -> ClientResult<u64>
pub fn allocate_memory( &self, pid: u32, size: u64, protection: u32, ) -> ClientResult<u64>
allocate memory in remote process
Sourcepub fn free_memory(&self, pid: u32, address: u64) -> ClientResult<()>
pub fn free_memory(&self, pid: u32, address: u64) -> ClientResult<()>
free memory in remote process
Sourcepub fn protect_memory(
&self,
pid: u32,
address: u64,
size: u64,
protection: u32,
) -> ClientResult<u32>
pub fn protect_memory( &self, pid: u32, address: u64, size: u64, protection: u32, ) -> ClientResult<u32>
change memory protection
Auto Trait Implementations§
impl Freeze for DriverClient
impl RefUnwindSafe for DriverClient
impl Send for DriverClient
impl Sync for DriverClient
impl Unpin for DriverClient
impl UnwindSafe for DriverClient
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