[−][src]Struct falcon::loader::Elf
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]
filename: P,
base_address: u64
) -> Result<Elf>
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]
fn memory(&self) -> Result<Memory>
[src]
fn function_entries(&self) -> Result<Vec<FunctionEntry>>
[src]
fn program_entry(&self) -> u64
[src]
fn architecture(&self) -> &dyn Architecture
[src]
fn as_any(&self) -> &dyn Any
[src]
fn symbols(&self) -> Vec<Symbol>
[src]
fn function(&self, address: u64) -> Result<Function>
[src]
fn symbols_map(&self) -> HashMap<u64, Symbol>
[src]
fn program(&self) -> Result<Program>
[src]
fn program_verbose(
&self
) -> Result<(Program, Vec<(FunctionEntry, Error)>), Error>
[src]
&self
) -> Result<(Program, Vec<(FunctionEntry, Error)>), Error>
fn program_recursive(&self) -> Result<Program>
[src]
fn program_recursive_verbose(
&self
) -> Result<(Program, Vec<(FunctionEntry, Error)>), Error>
[src]
&self
) -> Result<(Program, Vec<(FunctionEntry, Error)>), Error>
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]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,