Theodosius v3.0
Jit linker, symbol mapper, and obfuscator
|
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... | |
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.
|
explicit |
explicit constructor for theo class.
lib | a vector of bytes consisting of a lib |
lnkr_fns | |
entry_sym | the name of the function which will be used as the entry point |
std::uintptr_t theo::theo_t::compose | ( | ) |
compose the decomposed module. This will run obfuscation passes, the map and resolve symbols to each other.
Definition at line 56 of file theo.cpp.
References theo::recomp::recomp_t::allocate(), theo::recomp::recomp_t::copy_syms(), theo::recomp::symbol_table_t::for_each(), theo::obf::engine_t::get(), and theo::recomp::recomp_t::resolve().
Referenced by main().
std::optional< std::uint32_t > theo::theo_t::decompose | ( | ) |
decomposes the lib file and return the number of symbols that are used.
Definition at line 45 of file theo.cpp.
References theo::decomp::decomp_t::decompose().
Referenced by main().
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.
sym | the name of the symbol |
Definition at line 68 of file theo.cpp.
References theo::decomp::symbol_t::hash(), and theo::recomp::symbol_table_t::sym_from_hash().