Struct mmap_loader::pe::PortableExecutable
source · [−]pub struct PortableExecutable<'a> { /* private fields */ }
Expand description
A portable executable that is all nicely wrapped up in a class
Implementations
sourceimpl<'a> PortableExecutable<'a>
impl<'a> PortableExecutable<'a>
sourcepub fn load(
path: &str,
context: NtContext
) -> Result<PortableExecutable<'a>, Error>
pub fn load(
path: &str,
context: NtContext
) -> Result<PortableExecutable<'a>, Error>
Loads the portable executable, processing any options
Arguments
path
: The path to the executable file
context
: The resolved Nt Context
sourcepub fn load_as_primary(
path: &str,
context: NtContext,
primary: bool
) -> Result<PortableExecutable<'a>, Error>
pub fn load_as_primary(
path: &str,
context: NtContext,
primary: bool
) -> Result<PortableExecutable<'a>, Error>
Loads the portable executable, processing any options
Arguments
path
: The path to the executable file
context
: The resolved Nt Context
primary
: Whether or not this module should be the primary
module, and be returned upon invocation of GetModuleHandle(null)
sourcepub fn module_handle(&mut self) -> HMODULE
pub fn module_handle(&mut self) -> HMODULE
Returns the handle for the loaded process
sourcepub fn resolve_import_descriptors(
&mut self,
table: &[IMAGE_IMPORT_DESCRIPTOR]
) -> Result<()>
pub fn resolve_import_descriptors(
&mut self,
table: &[IMAGE_IMPORT_DESCRIPTOR]
) -> Result<()>
Resolves imports from the specified import descriptors. This is separate because some executables have separate IATs from the NT header IATs, and it is necessary to resolve them as well
Arguments
table
: The import descriptors
Trait Implementations
sourceimpl<'a> Drop for PortableExecutable<'a>
impl<'a> Drop for PortableExecutable<'a>
impl<'a> Send for PortableExecutable<'a>
Auto Trait Implementations
impl<'a> RefUnwindSafe for PortableExecutable<'a>
impl<'a> !Sync for PortableExecutable<'a>
impl<'a> Unpin for PortableExecutable<'a>
impl<'a> UnwindSafe for PortableExecutable<'a>
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
sourceimpl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
sourcefn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message T
in a tonic::Request
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
fn vzip(self) -> V
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more