Struct proc_mem::Module

source ·
pub struct Module { /* private fields */ }
Expand description

contains info about the module and its content in bytes

Implementations§

source§

impl Module

source

pub fn new( mname: String, mpath: String, pid: u32, mbaseaddr: usize, mbasesize: usize, proc: &Process ) -> Self

source

pub fn name(&self) -> &str

source

pub fn path(&self) -> &str

source

pub fn pid(&self) -> &u32

source

pub fn base_address(&self) -> usize

source

pub fn base_size(&self) -> &usize

source

pub fn data(&self) -> &Vec<u8>

source

pub fn get_raw<T: Copy>(&self, o: usize, is_relative: bool) -> Option<T>

source

pub fn find_signature(&self, sig: &Signature) -> Result<usize, ProcMemError>

This functions finds an address in memory based on the provided Signature

use proc_mem::{Process, Module, Signature, ProcMemError};
let some_game: Result<Process,ProcMemError> = Process::with_name("some_game.exe");
let module: Result<Module,ProcMemError> = some_game.module("module.dll");
let lp_signature = Signature {
    name: "LocalPlayer",
    pattern: "8D 34 85 ? ? ? ? 89 15 ? ? ? ? 8B 41 08 8B 48 04 83 F9 FF",
    offsets: vec![3],
    extra: 4,
    relative: true,
    rip_relative: false,
    rip_offset: 0,
};
let lp_address: Result<usize,ProcMemError> = module.find_signature(&lp_signature);

Trait Implementations§

source§

impl Debug for Module

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.