Struct goblin::mach::MachO [−][src]
A cross-platform, zero-copy, endian-aware, 32/64 bit Mach-o binary parser
Fields
header: Header
The mach-o header
load_commands: Vec<LoadCommand>
The load commands tell the kernel and dynamic linker how to use/interpret this binary
segments: Segments<'a>
The load command “segments” - typically the pieces of the binary that are loaded into memory
symbols: Option<Symbols<'a>>
The “Nlist” style symbols in this binary - strippable
libs: Vec<&'a str>
The dylibs this library depends on
rpaths: Vec<&'a str>
The runtime search paths for dylibs this library depends on
entry: u64
The entry point (as a virtual memory address), 0 if none
old_style_entry: bool
Whether entry
refers to an older LC_UNIXTHREAD
instead of the newer LC_MAIN
entrypoint
name: Option<&'a str>
The name of the dylib, if any
little_endian: bool
Are we a little-endian binary?
is_64: bool
Are we a 64-bit binary
Implementations
impl<'a> MachO<'a>
[src]
pub fn is_object_file(&self) -> bool
[src]
Is this a relocatable object file?
pub fn symbols(&self) -> SymbolIterator<'a>ⓘNotable traits for SymbolIterator<'a>
impl<'a> Iterator for SymbolIterator<'a> type Item = Result<(&'a str, Nlist)>;
[src]
Notable traits for SymbolIterator<'a>
impl<'a> Iterator for SymbolIterator<'a> type Item = Result<(&'a str, Nlist)>;
Return an iterator over all the symbols in this binary
pub fn relocations(
&self
) -> Result<Vec<(usize, RelocationIterator<'_>, Section)>>
[src]
&self
) -> Result<Vec<(usize, RelocationIterator<'_>, Section)>>
Return a vector of the relocations in this binary
pub fn exports(&self) -> Result<Vec<Export<'_>>>
[src]
Return the exported symbols in this binary (if any)
pub fn imports(&self) -> Result<Vec<Import<'_>>>
[src]
Return the imported symbols in this binary that dyld knows about (if any)
pub fn parse(bytes: &'a [u8], offset: usize) -> Result<MachO<'a>>
[src]
Parses the Mach-o binary from bytes
at offset
Trait Implementations
Auto Trait Implementations
impl<'a> RefUnwindSafe for MachO<'a>
impl<'a> Send for MachO<'a>
impl<'a> Sync for MachO<'a>
impl<'a> Unpin for MachO<'a>
impl<'a> UnwindSafe for MachO<'a>
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,
pub 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.
pub 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>,