pub struct CHPEMetadata<'a> { /* private fields */ }
Expand description

This class represents ARM64-specific metadata used in CHPE (Compatible Hybrid PE) binaries, particularly for hybrid architectures like ARM64EC and ARM64X.

It provides access to metadata describing code ranges, redirections, entry points, and other hybrid-specific information relevant for binary analysis

Implementations§

§

impl CHPEMetadata<'_>

pub fn code_map(&self) -> u32

RVA to the array that describes architecture-specific ranges

pub fn code_map_count(&self) -> u32

Number of entries in the code map

pub fn redirection_metadata(&self) -> u32

pub fn os_arm64x_dispatch_call_no_redirect(&self) -> u32

pub fn os_arm64x_dispatch_ret(&self) -> u32

pub fn os_arm64x_dispatch_call(&self) -> u32

pub fn os_arm64x_dispatch_icall(&self) -> u32

pub fn os_arm64x_dispatch_icall_cfg(&self) -> u32

pub fn alternate_entry_point(&self) -> u32

pub fn auxiliary_iat(&self) -> u32

pub fn code_ranges_to_entry_points_count(&self) -> u32

pub fn redirection_metadata_count(&self) -> u32

pub fn get_x64_information_function_pointer(&self) -> u32

pub fn set_x64_information_function_pointer(&self) -> u32

pub fn extra_rfe_table(&self) -> u32

RVA to this architecture-specific exception table

pub fn extra_rfe_table_size(&self) -> u32

Architecture-specific exception table size

pub fn auxiliary_iat_copy(&self) -> u32

pub fn auxiliary_delay_import(&self) -> u32

pub fn auxiliary_delay_import_copy(&self) -> u32

pub fn bitfield_info(&self) -> u32

pub fn code_ranges(&self) -> CodeRanges<'_>

pub fn redirections(&self) -> Redirections<'_>

pub fn code_range_entry_point(&self) -> CodeRangeEntrypoints<'_>

Trait Implementations§

§

impl AsCHPEMetadata for CHPEMetadata<'_>

§

fn version(&self) -> u32

Version of the structure
§

impl Debug for CHPEMetadata<'_>

§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<'a> !RefUnwindSafe for CHPEMetadata<'a>

§

impl<'a> !Send for CHPEMetadata<'a>

§

impl<'a> !Sync for CHPEMetadata<'a>

§

impl<'a> Unpin for CHPEMetadata<'a>

§

impl<'a> !UnwindSafe for CHPEMetadata<'a>

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.