Struct StandardFields
pub struct StandardFields {
pub magic: u16,
pub major_linker_version: u8,
pub minor_linker_version: u8,
pub size_of_code: u32,
pub size_of_initialized_data: u32,
pub size_of_uninitialized_data: u32,
pub address_of_entry_point: u32,
pub base_of_code: u32,
pub base_of_data: Option<u32>,
}Expand description
Provides access to low-level file and memory parsing utilities.
The crate::Parser type is used for decoding CIL bytecode and metadata streams.
§Usage Examples
use dotscope::{Parser, assembly::decode_instruction};
let code = [0x2A]; // ret
let mut parser = Parser::new(&code);
let instr = decode_instruction(&mut parser, 0x1000)?;
assert_eq!(instr.mnemonic, "ret");Standard fields common to PE32 and PE32+.
Fields§
§magic: u16Magic number (0x10b for PE32, 0x20b for PE32+)
major_linker_version: u8Major linker version
minor_linker_version: u8Minor linker version
size_of_code: u32Size of code section
size_of_initialized_data: u32Size of initialized data
size_of_uninitialized_data: u32Size of uninitialized data
address_of_entry_point: u32Address of entry point
base_of_code: u32Base of code section
base_of_data: Option<u32>Base of data section (PE32 only)
Trait Implementations§
§impl Clone for StandardFields
impl Clone for StandardFields
§fn clone(&self) -> StandardFields
fn clone(&self) -> StandardFields
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for StandardFields
impl RefUnwindSafe for StandardFields
impl Send for StandardFields
impl Sync for StandardFields
impl Unpin for StandardFields
impl UnwindSafe for StandardFields
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more