Struct lief::pe::Header

pub struct Header<'a> { /* private fields */ }
Expand description

Structure that represents the PE header (which follows the DosHeader)

Implementations§

§

impl Header<'_>

pub fn machine(&self) -> MachineType

The targeted machine architecture like ARM, x86, AMD64, …

pub fn nb_sections(&self) -> u16

The number of sections in the binary.

pub fn time_date_stamp(&self) -> u32

The low 32 bits of the number of seconds since January 1, 1970. It indicates when the file was created.

pub fn pointerto_symbol_table(&self) -> u32

The offset of the COFF symbol table. This value should be zero for an image because COFF debugging information is deprecated on in PE binary

pub fn numberof_symbols(&self) -> u32

The number of entries in the symbol table. This data can be used to locate the string table which immediately follows the symbol table.

This value should be zero for an image because COFF debugging information is deprecated in PE binary

pub fn sizeof_optional_header(&self) -> u16

Size of the OptionalHeader AND the data directories which follows this header.

This value is equivalent to: sizeof(pe_optional_header) + NB_DATA_DIR * sizeof(data_directory)

This size should be either:

  • 0xE0 (224) for a PE32 (32 bits)
  • 0xF0 (240) for a PE32+ (64 bits)

pub fn characteristics(&self) -> Characteristics

Characteristics of the binary like whether it is a DLL or an executable

Trait Implementations§

§

impl Debug for Header<'_>

§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<'a> RefUnwindSafe for Header<'a>

§

impl<'a> !Send for Header<'a>

§

impl<'a> !Sync for Header<'a>

§

impl<'a> Unpin for Header<'a>

§

impl<'a> UnwindSafe for Header<'a>

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere 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 Twhere 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 Twhere 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 Twhere 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.