pub struct PeFile<'data, Pe, R = &'data [u8]> where
Pe: ImageNtHeaders,
R: ReadRef<'data>, { /* private fields */ }
Expand description
A PE object file.
Implementations
Return the DOS header of this file.
Return the NT Headers of this file.
Returns information about the rich header of this file (if any).
Returns the section table of this binary.
Returns the data directories of this file.
Returns the data directory at the given index.
Returns the export table of this file.
The export table is located using the data directory.
Returns the import table of this file.
The import table is located using the data directory.
Trait Implementations
impl<'data, 'file, Pe, R> Object<'data, 'file> for PeFile<'data, Pe, R> where
'data: 'file,
Pe: ImageNtHeaders,
R: 'file + ReadRef<'data>,
impl<'data, 'file, Pe, R> Object<'data, 'file> for PeFile<'data, Pe, R> where
'data: 'file,
Pe: ImageNtHeaders,
R: 'file + ReadRef<'data>,
type SegmentIterator = PeSegmentIterator<'data, 'file, Pe, R>
type SegmentIterator = PeSegmentIterator<'data, 'file, Pe, R>
An iterator over the segments in the object file.
type SectionIterator = PeSectionIterator<'data, 'file, Pe, R>
type SectionIterator = PeSectionIterator<'data, 'file, Pe, R>
An iterator over the sections in the object file.
type ComdatIterator = PeComdatIterator<'data, 'file, Pe, R>
type ComdatIterator = PeComdatIterator<'data, 'file, Pe, R>
An iterator over the COMDAT section groups in the object file.
type Symbol = CoffSymbol<'data, 'file, R>
type Symbol = CoffSymbol<'data, 'file, R>
A symbol in the object file.
type SymbolIterator = CoffSymbolIterator<'data, 'file, R>
type SymbolIterator = CoffSymbolIterator<'data, 'file, R>
An iterator over symbols in the object file.
type SymbolTable = CoffSymbolTable<'data, 'file, R>
type SymbolTable = CoffSymbolTable<'data, 'file, R>
A symbol table in the object file.
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) -> PeSegmentIterator<'data, 'file, Pe, R>ⓘNotable traits for PeSegmentIterator<'data, 'file, Pe, R>impl<'data, 'file, Pe, R> Iterator for PeSegmentIterator<'data, 'file, Pe, R> where
Pe: ImageNtHeaders,
R: ReadRef<'data>, type Item = PeSegment<'data, 'file, Pe, R>;
fn segments(&'file self) -> PeSegmentIterator<'data, 'file, Pe, R>ⓘNotable traits for PeSegmentIterator<'data, 'file, Pe, R>impl<'data, 'file, Pe, R> Iterator for PeSegmentIterator<'data, 'file, Pe, R> where
Pe: ImageNtHeaders,
R: ReadRef<'data>, type Item = PeSegment<'data, 'file, Pe, R>;
impl<'data, 'file, Pe, R> Iterator for PeSegmentIterator<'data, 'file, Pe, R> where
Pe: ImageNtHeaders,
R: ReadRef<'data>, type Item = PeSegment<'data, 'file, Pe, R>;
Get an iterator over the segments in the file.
Like Self::section_by_name
, but allows names that are not UTF-8.
fn section_by_index(
&'file self,
index: SectionIndex
) -> Result<PeSection<'data, 'file, Pe, R>>
fn section_by_index(
&'file self,
index: SectionIndex
) -> Result<PeSection<'data, 'file, Pe, R>>
Get the section at the given index. Read more
fn sections(&'file self) -> PeSectionIterator<'data, 'file, Pe, R>ⓘNotable traits for PeSectionIterator<'data, 'file, Pe, R>impl<'data, 'file, Pe, R> Iterator for PeSectionIterator<'data, 'file, Pe, R> where
Pe: ImageNtHeaders,
R: ReadRef<'data>, type Item = PeSection<'data, 'file, Pe, R>;
fn sections(&'file self) -> PeSectionIterator<'data, 'file, Pe, R>ⓘNotable traits for PeSectionIterator<'data, 'file, Pe, R>impl<'data, 'file, Pe, R> Iterator for PeSectionIterator<'data, 'file, Pe, R> where
Pe: ImageNtHeaders,
R: ReadRef<'data>, type Item = PeSection<'data, 'file, Pe, R>;
impl<'data, 'file, Pe, R> Iterator for PeSectionIterator<'data, 'file, Pe, R> where
Pe: ImageNtHeaders,
R: ReadRef<'data>, type Item = PeSection<'data, 'file, Pe, R>;
Get an iterator over the sections in the file.
fn comdats(&'file self) -> PeComdatIterator<'data, 'file, Pe, R>ⓘNotable traits for PeComdatIterator<'data, 'file, Pe, R>impl<'data, 'file, Pe, R> Iterator for PeComdatIterator<'data, 'file, Pe, R> where
Pe: ImageNtHeaders,
R: ReadRef<'data>, type Item = PeComdat<'data, 'file, Pe, R>;
fn comdats(&'file self) -> PeComdatIterator<'data, 'file, Pe, R>ⓘNotable traits for PeComdatIterator<'data, 'file, Pe, R>impl<'data, 'file, Pe, R> Iterator for PeComdatIterator<'data, 'file, Pe, R> where
Pe: ImageNtHeaders,
R: ReadRef<'data>, type Item = PeComdat<'data, 'file, Pe, R>;
impl<'data, 'file, Pe, R> Iterator for PeComdatIterator<'data, 'file, Pe, R> where
Pe: ImageNtHeaders,
R: ReadRef<'data>, type Item = PeComdat<'data, 'file, Pe, 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) -> CoffSymbolIterator<'data, 'file, R>ⓘNotable traits for CoffSymbolIterator<'data, 'file, R>impl<'data, 'file, R: ReadRef<'data>> Iterator for CoffSymbolIterator<'data, 'file, R> type Item = CoffSymbol<'data, 'file, R>;
fn symbols(&'file self) -> CoffSymbolIterator<'data, 'file, R>ⓘNotable traits for CoffSymbolIterator<'data, 'file, R>impl<'data, 'file, R: ReadRef<'data>> Iterator for CoffSymbolIterator<'data, 'file, R> type Item = CoffSymbol<'data, 'file, R>;
impl<'data, 'file, R: ReadRef<'data>> Iterator for CoffSymbolIterator<'data, 'file, R> type Item = CoffSymbol<'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) -> CoffSymbolIterator<'data, 'file, R>ⓘNotable traits for CoffSymbolIterator<'data, 'file, R>impl<'data, 'file, R: ReadRef<'data>> Iterator for CoffSymbolIterator<'data, 'file, R> type Item = CoffSymbol<'data, 'file, R>;
fn dynamic_symbols(&'file self) -> CoffSymbolIterator<'data, 'file, R>ⓘNotable traits for CoffSymbolIterator<'data, 'file, R>impl<'data, 'file, R: ReadRef<'data>> Iterator for CoffSymbolIterator<'data, 'file, R> type Item = CoffSymbol<'data, 'file, R>;
impl<'data, 'file, R: ReadRef<'data>> Iterator for CoffSymbolIterator<'data, 'file, R> type Item = CoffSymbol<'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
Get the exported symbols that expose both a name and an address. Read more
The filename and GUID from the PE CodeView section
Return true if the file contains debug information sections, false if not.
Get the base address used for relative virtual addresses. Read more
Get the endianness of the file.
Get the section named section_name
, if such a section exists. 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
The build ID from an ELF NT_GNU_BUILD_ID
note.
The filename and CRC from a .gnu_debuglink
section.