pub unsafe trait PeObject<'a> {
fn image(&self) -> &'a [u8]ⓘNotable traits for &mut [u8]impl Write for &mut [u8]impl Read for &[u8]
;
fn align(&self) -> Align;
}
Required Methods
Trait Implementations
sourceimpl<'s, 'a> Pe<'a> for &'s dyn PeObject<'a>
impl<'s, 'a> Pe<'a> for &'s dyn PeObject<'a>
sourcefn dos_header(self) -> &'a IMAGE_DOS_HEADER
fn dos_header(self) -> &'a IMAGE_DOS_HEADER
Returns the DOS header.
sourcefn dos_image(self) -> &'a [u8]ⓘNotable traits for &mut [u8]impl Write for &mut [u8]impl Read for &[u8]
fn dos_image(self) -> &'a [u8]ⓘNotable traits for &mut [u8]impl Write for &mut [u8]impl Read for &[u8]
Returns the DOS image. Read more
sourcefn nt_headers(self) -> &'a IMAGE_NT_HEADERS
fn nt_headers(self) -> &'a IMAGE_NT_HEADERS
Returns the NT headers.
sourcefn file_header(self) -> &'a IMAGE_FILE_HEADER
fn file_header(self) -> &'a IMAGE_FILE_HEADER
Returns the file header.
sourcefn optional_header(self) -> &'a IMAGE_OPTIONAL_HEADER
fn optional_header(self) -> &'a IMAGE_OPTIONAL_HEADER
Returns the optional header.
sourcefn data_directory(self) -> &'a [IMAGE_DATA_DIRECTORY]
fn data_directory(self) -> &'a [IMAGE_DATA_DIRECTORY]
Returns the data directory.
sourcefn section_headers(self) -> &'a SectionHeaders
fn section_headers(self) -> &'a SectionHeaders
Returns the section headers.
sourcefn rva_to_file_offset(self, rva: Rva) -> Result<usize>
fn rva_to_file_offset(self, rva: Rva) -> Result<usize>
Converts a relative virtual address to file offset. Read more
sourcefn file_offset_to_rva(self, file_offset: usize) -> Result<Rva>
fn file_offset_to_rva(self, file_offset: usize) -> Result<Rva>
Converts a file offset to relative virtual address. Read more
sourcefn rva_to_va(self, rva: Rva) -> Result<Va>
fn rva_to_va(self, rva: Rva) -> Result<Va>
Converts from relative virtual address to virtual address. Read more
sourcefn va_to_rva(self, va: Va) -> Result<Rva>
fn va_to_rva(self, va: Va) -> Result<Rva>
Converts from virtual address to relative virtual address. Read more
sourcefn slice(&self, rva: Rva, min_size_of: usize, align: usize) -> Result<&'a [u8]>
fn slice(&self, rva: Rva, min_size_of: usize, align: usize) -> Result<&'a [u8]>
Slices the image at the specified rva. Read more
sourcefn slice_bytes(self, rva: Rva) -> Result<&'a [u8]>where
Self: Sized,
fn slice_bytes(self, rva: Rva) -> Result<&'a [u8]>where
Self: Sized,
Slices the image at the specified rva returning a byte slice with no alignment or minimum size. Read more
sourcefn get_section_bytes(
self,
section_header: &IMAGE_SECTION_HEADER
) -> Result<&'a [u8]>
fn get_section_bytes(
self,
section_header: &IMAGE_SECTION_HEADER
) -> Result<&'a [u8]>
Gets the bytes defined by a section header in this image. Read more
sourcefn read(&self, va: Va, min_size_of: usize, align: usize) -> Result<&'a [u8]>
fn read(&self, va: Va, min_size_of: usize, align: usize) -> Result<&'a [u8]>
Reads the image at the specified va. Read more
sourcefn read_bytes(self, va: Va) -> Result<&'a [u8]>where
Self: Sized,
fn read_bytes(self, va: Va) -> Result<&'a [u8]>where
Self: Sized,
Reads the image at the specified va returning a byte slice with no alignment or minimum size. Read more
sourcefn derva_into<T>(self, rva: Rva, dest: &mut T) -> Result<()>where
T: ?Sized + Pod,
fn derva_into<T>(self, rva: Rva, dest: &mut T) -> Result<()>where
T: ?Sized + Pod,
Reads and byte-wise copies the content to the given destination. Read more
sourcefn derva_slice<T>(self, rva: Rva, len: usize) -> Result<&'a [T]>where
T: Pod,
fn derva_slice<T>(self, rva: Rva, len: usize) -> Result<&'a [T]>where
T: Pod,
Reads an array of pod
T
with given length.sourcefn derva_slice_f<T, F>(self, rva: Rva, f: F) -> Result<&'a [T]>where
T: Pod,
F: FnMut(&'a T) -> bool,
fn derva_slice_f<T, F>(self, rva: Rva, f: F) -> Result<&'a [T]>where
T: Pod,
F: FnMut(&'a T) -> bool,
Reads an array of pod
T
. Read moresourcefn derva_slice_s<T>(self, rva: Rva, sentinel: T) -> Result<&'a [T]>where
T: PartialEq + Pod,
fn derva_slice_s<T>(self, rva: Rva, sentinel: T) -> Result<&'a [T]>where
T: PartialEq + Pod,
Reads an array of pod
T
. Read moresourcefn derva_c_str(self, rva: Rva) -> Result<&'a CStr>
fn derva_c_str(self, rva: Rva) -> Result<&'a CStr>
Reads a nul-terminated C string.
sourcefn derva_string<T>(self, rva: Rva) -> Result<&'a T>where
T: FromBytes + ?Sized,
fn derva_string<T>(self, rva: Rva) -> Result<&'a T>where
T: FromBytes + ?Sized,
Reads a string.
sourcefn deref<T>(self, ptr: Ptr<T>) -> Result<&'a T>where
T: Pod,
fn deref<T>(self, ptr: Ptr<T>) -> Result<&'a T>where
T: Pod,
Dereferences the pointer to a pod
T
.sourcefn deref_copy<T>(self, ptr: Ptr<T>) -> Result<T>where
T: Copy + Pod,
fn deref_copy<T>(self, ptr: Ptr<T>) -> Result<T>where
T: Copy + Pod,
Dereferences the pointer to an unaligned pod
T
.sourcefn deref_into<T>(self, ptr: Ptr<T>, dest: &mut T) -> Result<()>where
T: ?Sized + Pod,
fn deref_into<T>(self, ptr: Ptr<T>, dest: &mut T) -> Result<()>where
T: ?Sized + Pod,
Reads and byte-wise copies the content to the given destination. Read more
sourcefn deref_slice<T>(self, ptr: Ptr<[T]>, len: usize) -> Result<&'a [T]>where
T: Pod,
fn deref_slice<T>(self, ptr: Ptr<[T]>, len: usize) -> Result<&'a [T]>where
T: Pod,
Reads an array of pod
T
with given length.sourcefn deref_slice_f<T, F>(self, ptr: Ptr<[T]>, f: F) -> Result<&'a [T]>where
T: Pod,
F: FnMut(&'a T) -> bool,
fn deref_slice_f<T, F>(self, ptr: Ptr<[T]>, f: F) -> Result<&'a [T]>where
T: Pod,
F: FnMut(&'a T) -> bool,
Reads an array of pod
T
. Read moresourcefn deref_slice_s<T>(self, ptr: Ptr<[T]>, sentinel: T) -> Result<&'a [T]>where
T: PartialEq + Pod,
fn deref_slice_s<T>(self, ptr: Ptr<[T]>, sentinel: T) -> Result<&'a [T]>where
T: PartialEq + Pod,
Reads an array of pod
T
. Read moresourcefn deref_c_str(self, ptr: Ptr<CStr>) -> Result<&'a CStr>
fn deref_c_str(self, ptr: Ptr<CStr>) -> Result<&'a CStr>
Dereferences the pointer to a nul-terminated C string.
sourcefn deref_string<T>(self, ptr: Ptr<T>) -> Result<&'a T>where
T: FromBytes + ?Sized,
fn deref_string<T>(self, ptr: Ptr<T>) -> Result<&'a T>where
T: FromBytes + ?Sized,
Dereferences the pointer to a string.
sourcefn rich_structure(self) -> Result<RichStructure<'a>>
fn rich_structure(self) -> Result<RichStructure<'a>>
Returns the Rich structure.
sourcefn base_relocs(self) -> Result<BaseRelocs<'a>>
fn base_relocs(self) -> Result<BaseRelocs<'a>>
Gets the Base Relocations Directory. Read more
sourcefn load_config(self) -> Result<LoadConfig<'a, Self>>
fn load_config(self) -> Result<LoadConfig<'a, Self>>
Gets the Load Config Directory. Read more