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

the main class which encapsulates a symbol table, decomp, and recomp objects. This class is a bridge that connects all three: decomp, obf, recomp. More...

#include <theo.hpp>

Public Member Functions

 theo_t (std::vector< std::uint8_t > &lib, lnk_fns_t lnkr_fns, const std::string &&entry_sym)
 explicit constructor for theo class. More...
 
std::optional< std::uint32_t > decompose ()
 decomposes the lib file and return the number of symbols that are used. More...
 
std::uintptr_t compose ()
 compose the decomposed module. This will run obfuscation passes, the map and resolve symbols to each other. More...
 
std::uintptr_t resolve (const std::string &&sym)
 given the name of a symbol, it returns the address of where its mapped. More...
 

Detailed Description

the main class which encapsulates a symbol table, decomp, and recomp objects. This class is a bridge that connects all three: decomp, obf, recomp.

You will create an object of this type when using theo.

Definition at line 70 of file theo.hpp.

Constructor & Destructor Documentation

◆ theo_t()

theo::theo_t::theo_t ( std::vector< std::uint8_t > &  lib,
lnk_fns_t  lnkr_fns,
const std::string &&  entry_sym 
)
explicit

explicit constructor for theo class.

Parameters
liba vector of bytes consisting of a lib
lnkr_fns
entry_symthe name of the function which will be used as the entry point

Member Function Documentation

◆ compose()

std::uintptr_t theo::theo_t::compose ( )

compose the decomposed module. This will run obfuscation passes, the map and resolve symbols to each other.

Returns
returns the address of the entry point symbol

◆ decompose()

std::optional<std::uint32_t> theo::theo_t::decompose ( )

decomposes the lib file and return the number of symbols that are used.

Returns
optional amount of symbols that are used. no value if decomposition fails.

◆ resolve()

std::uintptr_t theo::theo_t::resolve ( const std::string &&  sym)

given the name of a symbol, it returns the address of where its mapped.

Parameters
symthe name of the symbol
Returns
the address of the symbol

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