[go: up one dir, main page]

Struct goblin::pe::PE[][src]

pub struct PE<'a> {
Show fields pub header: Header, pub sections: Vec<SectionTable>, pub size: usize, pub name: Option<&'a str>, pub is_lib: bool, pub is_64: bool, pub entry: usize, pub image_base: usize, pub export_data: Option<ExportData<'a>>, pub import_data: Option<ImportData<'a>>, pub exports: Vec<Export<'a>>, pub imports: Vec<Import<'a>>, pub libraries: Vec<&'a str>, pub debug_data: Option<DebugData<'a>>, pub exception_data: Option<ExceptionData<'a>>,
}
Expand description

An analyzed PE32/PE32+ binary

Fields

header: Header

The PE header

sections: Vec<SectionTable>

A list of the sections in this PE binary

size: usize

The size of the binary

name: Option<&'a str>

The name of this dll, if it has one

is_lib: bool

Whether this is a dll or not

is_64: bool

Whether the binary is 64-bit (PE32+)

entry: usize

the entry point of the binary

image_base: usize

The binary’s RVA, or image base - useful for computing virtual addreses

export_data: Option<ExportData<'a>>

Data about any exported symbols in this binary (e.g., if it’s a dll)

import_data: Option<ImportData<'a>>

Data for any imported symbols, and from which dll, etc., in this binary

exports: Vec<Export<'a>>

The list of exported symbols in this binary, contains synthetic information for easier analysis

imports: Vec<Import<'a>>

The list symbols imported by this binary from other dlls

libraries: Vec<&'a str>

The list of libraries which this binary imports symbols from

debug_data: Option<DebugData<'a>>

Debug information, if any, contained in the PE header

exception_data: Option<ExceptionData<'a>>

Exception handling and stack unwind information, if any, contained in the PE header

Implementations

impl<'a> PE<'a>[src]

pub fn parse(bytes: &'a [u8]) -> Result<Self>[src]

Reads a PE binary from the underlying bytes

pub fn parse_with_opts(bytes: &'a [u8], opts: &ParseOptions) -> Result<Self>[src]

Reads a PE binary from the underlying bytes

Trait Implementations

impl<'a> Debug for PE<'a>[src]

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

Formats the value using the given formatter. Read more

Auto Trait Implementations

impl<'a> RefUnwindSafe for PE<'a>

impl<'a> Send for PE<'a>

impl<'a> Sync for PE<'a>

impl<'a> Unpin for PE<'a>

impl<'a> UnwindSafe for PE<'a>

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

impl<T> From<T> for T[src]

pub fn from(t: T) -> T[src]

Performs the conversion.

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

pub fn into(self) -> U[src]

Performs the conversion.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

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

Performs the conversion.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

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

Performs the conversion.