Theodosius  v3.0
Jit linker, mapper, obfuscator, and mutator
Public Member Functions | List of all members
theo::decomp::routine_t Class Reference

the routine class which is responsible for creating symbols for routines. if the routine is located inside a section with the name ".split" it will break functions into instruction symbols. More...

#include <routine.hpp>

Public Member Functions

 routine_t (coff::symbol_t *sym, coff::image_t *img, coff::section_header_t *scn, std::vector< std::uint8_t > &fn, sym_type_t dcmp_type)
 the explicit constructor for routine_t. More...
 
std::vector< decomp::symbol_tdecompose ()
 decompose the function into symbol(s). More...
 
coff::section_header_t * scn ()
 gets the section header of the section in which the symbol is located in. More...
 
std::vector< std::uint8_t > data ()
 gets the function bytes. More...
 

Detailed Description

the routine class which is responsible for creating symbols for routines. if the routine is located inside a section with the name ".split" it will break functions into instruction symbols.

Definition at line 53 of file routine.hpp.

Constructor & Destructor Documentation

◆ routine_t()

theo::decomp::routine_t::routine_t ( coff::symbol_t *  sym,
coff::image_t *  img,
coff::section_header_t *  scn,
std::vector< std::uint8_t > &  fn,
sym_type_t  dcmp_type 
)
explicit

the explicit constructor for routine_t.

Parameters
symthe coff symbol for the routine.
imgthe coff image which contains the symbol.
scnthe section header of the section that contains the symbol.
fnthe data (bytes) of the function.
dcmp_typethe type of decomp to do. if this is sym_type_t::function then this class wont split the function up into individual instructions.

Member Function Documentation

◆ data()

std::vector<std::uint8_t> theo::decomp::routine_t::data ( )

gets the function bytes.

Returns
the function bytes.

◆ decompose()

std::vector<decomp::symbol_t> theo::decomp::routine_t::decompose ( )

decompose the function into symbol(s).

Returns
symbol(s) of the function.

◆ scn()

coff::section_header_t* theo::decomp::routine_t::scn ( )

gets the section header of the section in which the symbol is located in.

Returns
the section header of the section in which the symbol is located in.

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