Struct malwaredb_types::exec::pef::Pef
source · pub struct Pef<'a> {
pub arch: 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 BeOS on PowerPC. Some of the data is only on the “resource fork”, which is not available on modern systems, so we can’t the entire file. :(
Fields§
§arch: 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<'a> ExecutableFile for Pef<'a>
impl<'a> ExecutableFile for Pef<'a>
source§fn architecture(&self) -> Architecture
fn architecture(&self) -> 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 binary
source§impl<'a> SpecimenFile for Pef<'a>
impl<'a> SpecimenFile for Pef<'a>
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§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)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