Struct goblin::mach::MachO [−][src]
A cross-platform, zero-copy, endian-aware, 32/64 bit Mach-o binary parser
Fields
header: HeaderThe 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: u64The entry point (as a virtual memory address), 0 if none
old_style_entry: boolWhether 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: boolAre we a little-endian binary?
is_64: boolAre 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>,