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

This class is responsible for extracting specific data from an executable file. More...

#include <executable_parser.hpp>

Inheritance diagram for arion::ExecutableParser:
arion::ElfParser

Public Member Functions

 ExecutableParser (std::weak_ptr< Arion > arion)
 
virtual void process ()=0
 
std::shared_ptr< EXECUTABLE_PARSER_ATTRIBUTESget_attrs ()
 
std::vector< std::shared_ptr< struct SEGMENT > > get_segments ()
 

Protected Attributes

std::weak_ptr< Arionarion
 The Arion instance which requested the executable parsing.
 
std::shared_ptr< EXECUTABLE_PARSER_ATTRIBUTESattrs
 A structure of attributes which are filled during the parsing.
 
std::vector< std::shared_ptr< struct SEGMENT > > segments
 The memory segments in the executable.
 

Detailed Description

This class is responsible for extracting specific data from an executable file.

Constructor & Destructor Documentation

◆ ExecutableParser()

arion::ExecutableParser::ExecutableParser ( std::weak_ptr< Arion arion)
inline

Builder for ExecutableParser instances.

Parameters
[in]arionThe Arion instance which requested the executable parsing.

Member Function Documentation

◆ get_attrs()

std::shared_ptr< EXECUTABLE_PARSER_ATTRIBUTES > arion::ExecutableParser::get_attrs ( )

Retrieves the structure of attributes which were filled during parsing.

Returns
The structure of attributes.

◆ get_segments()

std::vector< std::shared_ptr< struct SEGMENT > > arion::ExecutableParser::get_segments ( )

Retrieves the list of memory segments which where extracted from the executable.

Returns
The list of memory segments.

◆ process()

virtual void arion::ExecutableParser::process ( )
pure virtual

Processes the requested executable file by parsing its format and extracting some specific data.

Implemented in arion::ElfParser.

Member Data Documentation

◆ arion

std::weak_ptr<Arion> arion::ExecutableParser::arion
protected

The Arion instance which requested the executable parsing.

◆ attrs

std::shared_ptr<EXECUTABLE_PARSER_ATTRIBUTES> arion::ExecutableParser::attrs
protected

A structure of attributes which are filled during the parsing.

◆ segments

std::vector<std::shared_ptr<struct SEGMENT> > arion::ExecutableParser::segments
protected

The memory segments in the executable.


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