pub struct Pef<'a> {
pub arch: Option<Architecture>,
pub ordering: Ordering,
pub os: OperatingSystem,
pub sections: Option<Vec<Section<'a>>>,
pub timestamp: u32,
pub contents: &'a [u8],
}
Expand description
The struct for Preferred Executables.
This was the binary format for “Classic” Mac OS, and Be OS on Power PC. Some data is only on the “resource fork”, which is not available on modern systems, so we can’t the entire file. :(
Fields§
§arch: Option<Architecture>
Instruction set architecture for this binary
ordering: Ordering
Byte ordering for this binary
os: OperatingSystem
Operating System for this binary, likely Classic Mac OS
sections: Option<Vec<Section<'a>>>
Sections of this binary
timestamp: u32
Seconds since 1 January 1904
contents: &'a [u8]
The array containing the raw bytes used to parse this program
Implementations§
Trait Implementations§
Source§impl ExecutableFile for Pef<'_>
impl ExecutableFile for Pef<'_>
Source§fn architecture(&self) -> Option<Architecture>
fn architecture(&self) -> Option<Architecture>
Get the architecture type
Source§fn pointer_size(&self) -> usize
fn pointer_size(&self) -> usize
Get the pointer size, 32- or 64-bit
Source§fn operating_system(&self) -> OperatingSystem
fn operating_system(&self) -> OperatingSystem
Get the operating system type for a binary
Source§fn compiled_timestamp(&self) -> Option<DateTime<Utc>>
fn compiled_timestamp(&self) -> Option<DateTime<Utc>>
Get the compilation timestamp, if available
Source§fn num_sections(&self) -> u32
fn num_sections(&self) -> u32
Number of sections for a binary
Source§fn import_hash(&self) -> Option<String>
fn import_hash(&self) -> Option<String>
Import hash of the binary
Source§fn fuzzy_imports(&self) -> Option<String>
fn fuzzy_imports(&self) -> Option<String>
SSDeep
fuzzy hash of the binarySource§impl SpecimenFile for Pef<'_>
impl SpecimenFile for Pef<'_>
impl<'a> StructuralPartialEq for Pef<'a>
Auto Trait Implementations§
impl<'a> Freeze for Pef<'a>
impl<'a> RefUnwindSafe for Pef<'a>
impl<'a> Send for Pef<'a>
impl<'a> Sync for Pef<'a>
impl<'a> Unpin for Pef<'a>
impl<'a> UnwindSafe for Pef<'a>
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> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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