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

the main class responsible for recomposition More...

#include <recomp.hpp>

Public Member Functions

 recomp_t (decomp::decomp_t *dcmp, allocator_t alloc, copier_t copy, resolver_t resolve)
 the explicit constructor for the recomp_t class. More...
 
void allocate ()
 when called, this function allocates space for every symbol. More...
 
void resolve ()
 when called, this function resolves all relocations in every symbol. More...
 
void copy_syms ()
 when called, this function copies symbols into allocations. More...
 
void allocator (allocator_t alloc)
 setter for the allocater lambda function. More...
 
void copier (copier_t copy)
 setter for the copier lambda function. More...
 
void resolver (resolver_t resolve)
 setter for the resolve lambda function. More...
 
std::uintptr_t resolve (const std::string &&sym)
 resolves the address of a function given its name. More...
 

Detailed Description

the main class responsible for recomposition

Definition at line 64 of file recomp.hpp.

Constructor & Destructor Documentation

◆ recomp_t()

theo::recomp::recomp_t::recomp_t ( decomp::decomp_t dcmp,
allocator_t  alloc,
copier_t  copy,
resolver_t  resolve 
)
explicit

the explicit constructor for the recomp_t class.

Parameters
dcmppointer to a decomp_t class.
alloclambda function which is used to allocate memory for symbols.
copylambda function used to copy bytes into allocations.
resolvelambda function used to resolve external symbols.

Member Function Documentation

◆ allocate()

void theo::recomp::recomp_t::allocate ( )

when called, this function allocates space for every symbol.

◆ allocator()

void theo::recomp::recomp_t::allocator ( allocator_t  alloc)

setter for the allocater lambda function.

Parameters
alloclambda function which allocates memory for symbols.

◆ copier()

void theo::recomp::recomp_t::copier ( copier_t  copy)

setter for the copier lambda function.

Parameters
copycopier lambda function used to copy bytes into allocations made by the allocator.

◆ copy_syms()

void theo::recomp::recomp_t::copy_syms ( )

when called, this function copies symbols into allocations.

◆ resolve() [1/2]

void theo::recomp::recomp_t::resolve ( )

when called, this function resolves all relocations in every symbol.

◆ resolve() [2/2]

std::uintptr_t theo::recomp::recomp_t::resolve ( const std::string &&  sym)

resolves the address of a function given its name.

Parameters
symthe name of the symbol to resolve the location of.
Returns
the address of the symbol.

◆ resolver()

void theo::recomp::recomp_t::resolver ( resolver_t  resolve)

setter for the resolve lambda function.

Parameters
resolvelambda function to resolve external symbols.

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