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],
}Available on crate feature
pef only.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: OrderingByte ordering for this binary
os: OperatingSystemOperating System for this binary, likely Classic Mac OS
sections: Option<Vec<Section<'a>>>Sections of this binary
timestamp: u32Seconds 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