[][src]Struct falcon::loader::Elf

pub struct Elf { /* fields omitted */ }

Loader for a single ELf file.

Methods

impl Elf[src]

pub fn new(bytes: Vec<u8>, base_address: u64) -> Result<Elf>[src]

Create a new Elf from the given bytes. This Elf will be rebased to the given base address.

pub fn base_address(&self) -> u64[src]

Get the base address of this Elf where it has been loaded into loader memory.

pub fn from_file_with_base_address<P: AsRef<Path>>(
    filename: P,
    base_address: u64
) -> Result<Elf>
[src]

Load an Elf from a file and use the given base address.

pub fn from_file<P: AsRef<Path>>(filename: P) -> Result<Elf>[src]

Load an elf from a file and use the base address of 0.

pub fn add_user_function(&mut self, address: u64)[src]

Allow the user to manually specify a function entry

pub fn dt_needed(&self) -> Result<Vec<String>>[src]

Return the strings from the DT_NEEDED entries.

pub fn elf(&self) -> Elf[src]

Return the goblin::elf::Elf for this elf.

pub fn exported_symbols(&self) -> Vec<Symbol>[src]

Return all symbols exported from this Elf

pub fn symbols(&self) -> Vec<Symbol>[src]

Return all symbols for this Elf

Trait Implementations

impl Debug for Elf[src]

impl Loader for Elf[src]

Auto Trait Implementations

impl !RefUnwindSafe for Elf

impl Send for Elf

impl Sync for Elf

impl Unpin for Elf

impl !UnwindSafe for Elf

Blanket Implementations

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

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

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

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

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

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.

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.