Arion 1.0.2-alpha
A high-performance C++ framework for emulating executable binaries.
 
Loading...
Searching...
No Matches
arion::LinuxArchManager Class Referenceabstract

Abstract base class for managing Linux architecture-specific details, particularly for core dump parsing. More...

#include <lnx_arch_manager.hpp>

Inheritance diagram for arion::LinuxArchManager:
arion_lnx_arm64::ArchManagerLinuxARM64 arion_lnx_arm::ArchManagerLinuxARM arion_lnx_x86::ArchManagerLinuxX86 arion_lnx_x86_64::ArchManagerLinuxX8664

Public Member Functions

std::unique_ptr< PARSED_COREDUMP_THREADparse_coredump_thread (std::shared_ptr< Arion > arion, std::unique_ptr< ELF_COREDUMP_THREAD > thread, std::shared_ptr< ElfParser > prog_parser)
 

Private Member Functions

virtual std::map< REG, RVALprstatus_to_regs (std::vector< BYTE > prstatus)=0
 
virtual std::map< REG, RVALfpregset_to_regs (std::vector< BYTE > fpregset)=0
 

Detailed Description

Abstract base class for managing Linux architecture-specific details, particularly for core dump parsing.

Member Function Documentation

◆ fpregset_to_regs()

virtual std::map< REG, RVAL > arion::LinuxArchManager::fpregset_to_regs ( std::vector< BYTE fpregset)
privatepure virtual

**(Pure Virtual)** Converts the raw floating-point register data (fpregset) from an ELF core dump into Arion's unified register map.

Parameters
[in]fpregsetRaw byte vector containing the architecture-specific fpregset structure.
Returns
A map of Arion universal register IDs to their values (arion::RVAL).

◆ parse_coredump_thread()

std::unique_ptr< PARSED_COREDUMP_THREAD > arion::LinuxArchManager::parse_coredump_thread ( std::shared_ptr< Arion arion,
std::unique_ptr< ELF_COREDUMP_THREAD thread,
std::shared_ptr< ElfParser prog_parser 
)

Parses the raw register data of a single core dump thread using the architecture-specific conversion methods.

Parameters
[in]arionShared pointer to the main Arion instance.
[in]threadUnique pointer to the raw ELF thread data (ELF_COREDUMP_THREAD).
[in]prog_parserShared pointer to the ELF parser for context.
Returns
A unique pointer to the fully parsed register data for the thread (PARSED_COREDUMP_THREAD).

◆ prstatus_to_regs()

virtual std::map< REG, RVAL > arion::LinuxArchManager::prstatus_to_regs ( std::vector< BYTE prstatus)
privatepure virtual

**(Pure Virtual)** Converts the raw prstatus register data from an ELF core dump into Arion's unified register map.

Parameters
[in]prstatusRaw byte vector containing the architecture-specific prstatus structure.
Returns
A map of Arion universal register IDs to their values (arion::RVAL).

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