Expand description
An object file.
Most functionality is provided by the Object
trait implementation.
Implementations
Parse the raw file data at an arbitrary offset inside the input data.
Currently, this is only supported for Mach-O images. This can be used for parsing Mach-O images inside the dyld shared cache, where multiple images, located at different offsets, share the same address space.
Return the file format.
Trait Implementations
type SegmentIterator = SegmentIterator<'data, 'file, R>
type SegmentIterator = SegmentIterator<'data, 'file, R>
An iterator over the segments in the object file.
type SectionIterator = SectionIterator<'data, 'file, R>
type SectionIterator = SectionIterator<'data, 'file, R>
An iterator over the sections in the object file.
type ComdatIterator = ComdatIterator<'data, 'file, R>
type ComdatIterator = ComdatIterator<'data, 'file, R>
An iterator over the COMDAT section groups in the object file.
type SymbolIterator = SymbolIterator<'data, 'file, R>
type SymbolIterator = SymbolIterator<'data, 'file, R>
An iterator over symbols in the object file.
type SymbolTable = SymbolTable<'data, 'file, R>
type SymbolTable = SymbolTable<'data, 'file, R>
A symbol table in the object file.
type DynamicRelocationIterator = DynamicRelocationIterator<'data, 'file, R>
type DynamicRelocationIterator = DynamicRelocationIterator<'data, 'file, R>
An iterator over dynamic relocations in the file. Read more
Get the architecture type of the file.
Return true if the file is little endian, false if it is big endian.
Return the kind of this object.
fn segments(&'file self) -> SegmentIterator<'data, 'file, R>ⓘNotable traits for SegmentIterator<'data, 'file, R>impl<'data, 'file, R: ReadRef<'data>> Iterator for SegmentIterator<'data, 'file, R> type Item = Segment<'data, 'file, R>;
fn segments(&'file self) -> SegmentIterator<'data, 'file, R>ⓘNotable traits for SegmentIterator<'data, 'file, R>impl<'data, 'file, R: ReadRef<'data>> Iterator for SegmentIterator<'data, 'file, R> type Item = Segment<'data, 'file, R>;
impl<'data, 'file, R: ReadRef<'data>> Iterator for SegmentIterator<'data, 'file, R> type Item = Segment<'data, 'file, R>;
Get an iterator over the segments in the file.
Like Self::section_by_name
, but allows names that are not UTF-8.
Get the section at the given index. Read more
fn sections(&'file self) -> SectionIterator<'data, 'file, R>ⓘNotable traits for SectionIterator<'data, 'file, R>impl<'data, 'file, R: ReadRef<'data>> Iterator for SectionIterator<'data, 'file, R> type Item = Section<'data, 'file, R>;
fn sections(&'file self) -> SectionIterator<'data, 'file, R>ⓘNotable traits for SectionIterator<'data, 'file, R>impl<'data, 'file, R: ReadRef<'data>> Iterator for SectionIterator<'data, 'file, R> type Item = Section<'data, 'file, R>;
impl<'data, 'file, R: ReadRef<'data>> Iterator for SectionIterator<'data, 'file, R> type Item = Section<'data, 'file, R>;
Get an iterator over the sections in the file.
fn comdats(&'file self) -> ComdatIterator<'data, 'file, R>ⓘNotable traits for ComdatIterator<'data, 'file, R>impl<'data, 'file, R: ReadRef<'data>> Iterator for ComdatIterator<'data, 'file, R> type Item = Comdat<'data, 'file, R>;
fn comdats(&'file self) -> ComdatIterator<'data, 'file, R>ⓘNotable traits for ComdatIterator<'data, 'file, R>impl<'data, 'file, R: ReadRef<'data>> Iterator for ComdatIterator<'data, 'file, R> type Item = Comdat<'data, 'file, R>;
impl<'data, 'file, R: ReadRef<'data>> Iterator for ComdatIterator<'data, 'file, R> type Item = Comdat<'data, 'file, R>;
Get an iterator over the COMDAT section groups in the file.
Get the debugging symbol at the given index. Read more
fn symbols(&'file self) -> SymbolIterator<'data, 'file, R>ⓘNotable traits for SymbolIterator<'data, 'file, R>impl<'data, 'file, R: ReadRef<'data>> Iterator for SymbolIterator<'data, 'file, R> type Item = Symbol<'data, 'file, R>;
fn symbols(&'file self) -> SymbolIterator<'data, 'file, R>ⓘNotable traits for SymbolIterator<'data, 'file, R>impl<'data, 'file, R: ReadRef<'data>> Iterator for SymbolIterator<'data, 'file, R> type Item = Symbol<'data, 'file, R>;
impl<'data, 'file, R: ReadRef<'data>> Iterator for SymbolIterator<'data, 'file, R> type Item = Symbol<'data, 'file, R>;
Get an iterator over the debugging symbols in the file. Read more
Get the symbol table, if any.
fn dynamic_symbols(&'file self) -> SymbolIterator<'data, 'file, R>ⓘNotable traits for SymbolIterator<'data, 'file, R>impl<'data, 'file, R: ReadRef<'data>> Iterator for SymbolIterator<'data, 'file, R> type Item = Symbol<'data, 'file, R>;
fn dynamic_symbols(&'file self) -> SymbolIterator<'data, 'file, R>ⓘNotable traits for SymbolIterator<'data, 'file, R>impl<'data, 'file, R: ReadRef<'data>> Iterator for SymbolIterator<'data, 'file, R> type Item = Symbol<'data, 'file, R>;
impl<'data, 'file, R: ReadRef<'data>> Iterator for SymbolIterator<'data, 'file, R> type Item = Symbol<'data, 'file, R>;
Get an iterator over the dynamic linking symbols in the file. Read more
Get the dynamic linking symbol table, if any. Read more
Get the dynamic relocations for this file. Read more
Construct a map from addresses to symbol names. Read more
Construct a map from addresses to symbol names and object file names. Read more
Get the exported symbols that expose both a name and an address. Read more
Return true if the file contains debug information sections, false if not.
The build ID from an ELF NT_GNU_BUILD_ID
note.
The filename and CRC from a .gnu_debuglink
section.
The filename and build ID from a .gnu_debugaltlink
section.
The filename and GUID from the PE CodeView section
Get the base address used for relative virtual addresses. Read more
Get the endianness of the file.