32 #include <spdlog/spdlog.h>
48 #include <xed-decode.h>
49 #include <xed-interface.h>
61 std::tuple<recomp::allocator_t, recomp::copier_t, recomp::resolver_t>;
79 explicit theo_t(std::vector<std::uint8_t>& lib,
81 const std::string&& entry_sym);
102 std::uintptr_t
resolve(
const std::string&& sym);
105 std::string m_entry_sym;
the main decomposition class which is responsible for breaking down lib file into coff files,...
the main class responsible for recomposition
this class is a high level wrapper for a hashmap that contains decomp::symbol_t values....
the main class which encapsulates a symbol table, decomp, and recomp objects. This class is a bridge ...
theo_t(std::vector< std::uint8_t > &lib, lnk_fns_t lnkr_fns, const std::string &&entry_sym)
explicit constructor for theo class.
std::uintptr_t compose()
compose the decomposed module. This will run obfuscation passes, the map and resolve symbols to each ...
std::optional< std::uint32_t > decompose()
decomposes the lib file and return the number of symbols that are used.
std::uintptr_t resolve(const std::string &&sym)
given the name of a symbol, it returns the address of where its mapped.
The outer most encompassing namespace of this project.
std::tuple< recomp::allocator_t, recomp::copier_t, recomp::resolver_t > lnk_fns_t
tuple of functions used by theo to allocate, copy, and resolve symbols.