Arion 1.0.2-alpha
A high-performance C++ framework for emulating executable binaries.
 
Loading...
Searching...
No Matches
arion_poly_struct::AbsArionStructType Class Reference

Abstract base class providing common utilities for structure types that interact with emulated memory. More...

#include <struct_utils.hpp>

Inheritance diagram for arion_poly_struct::AbsArionStructType:
arion_poly_struct::ArionStructType< struct clone_args > arion_poly_struct::ArionStructType< struct sockaddr_in6 > arion_poly_struct::ArionStructType< struct sockaddr_in > arion_poly_struct::ArionStructType< struct sockaddr_un > arion_poly_struct::ArionStructType< struct stat > arion_poly_struct::ArionStructType< struct statx > arion_poly_struct::ArionStructType< struct timespec > arion_poly_struct::ArionStructType< T >

Protected Member Functions

virtual ~AbsArionStructType ()=default
 
bool arion_is_mapped (std::shared_ptr< arion::Arion > arion, arion::ADDR addr)
 
arion::CPU_ARCH arion_curr_arch (std::shared_ptr< arion::Arion > arion)
 
std::vector< arion::BYTEarion_read_mem (std::shared_ptr< arion::Arion > arion, arion::ADDR addr, size_t sz)
 

Detailed Description

Abstract base class providing common utilities for structure types that interact with emulated memory.

Constructor & Destructor Documentation

◆ ~AbsArionStructType()

virtual arion_poly_struct::AbsArionStructType::~AbsArionStructType ( )
protectedvirtualdefault

Protected destructor to ensure deletion only via smart pointers or derived classes.

Member Function Documentation

◆ arion_curr_arch()

arion::CPU_ARCH arion_poly_struct::AbsArionStructType::arion_curr_arch ( std::shared_ptr< arion::Arion arion)
protected

Retrieves the current architecture of the emulated CPU.

Parameters
[in]arionShared pointer to the Arion instance.
Returns
The CPU_ARCH of the emulated system.

◆ arion_is_mapped()

bool arion_poly_struct::AbsArionStructType::arion_is_mapped ( std::shared_ptr< arion::Arion arion,
arion::ADDR  addr 
)
protected

Checks if a memory address is mapped within the emulated memory.

Parameters
[in]arionShared pointer to the Arion instance.
[in]addrThe memory address to check.
Returns
true if the memory is mapped, false otherwise.

◆ arion_read_mem()

std::vector< arion::BYTE > arion_poly_struct::AbsArionStructType::arion_read_mem ( std::shared_ptr< arion::Arion arion,
arion::ADDR  addr,
size_t  sz 
)
protected

Reads a chunk of memory from the emulated system.

Parameters
[in]arionShared pointer to the Arion instance.
[in]addrThe starting address to read from.
[in]szThe number of bytes to read.
Returns
A vector of bytes containing the read memory data.

The documentation for this class was generated from the following file: