Theodosius
v3.0
Jit linker, mapper, obfuscator, and mutator
|
the main decomposition class which is responsible for breaking down lib file into coff files, and extracted used symbols from the coff files. More...
#include <decomp.hpp>
Public Member Functions | |
decomp_t (std::vector< std::uint8_t > &lib, recomp::symbol_table_t *syms) | |
the explicit constructor for decomp_t More... | |
std::vector< routine_t > | rtns () |
gets all of the routine objects. More... | |
std::vector< std::uint8_t > | lib () |
gets a vector of bytes consisting of the lib file. More... | |
std::vector< std::vector< std::uint8_t > > | objs () |
gets all the obj files as a vector of a vector of bytes. More... | |
recomp::symbol_table_t * | syms () |
gets the symbol table. More... | |
std::map< coff::section_header_t *, std::size_t > & | scn_hash_tbl () |
gets the section hash table section header --> hash of the section header ptr. More... | |
std::optional< recomp::symbol_table_t * > | decompose (std::string &entry_sym) |
decomposes (extracts) the symbols used. this function determines all used symbols given the entry point. More... | |
the main decomposition class which is responsible for breaking down lib file into coff files, and extracted used symbols from the coff files.
Definition at line 61 of file decomp.hpp.
|
explicit |
the explicit constructor for decomp_t
lib | vector of bytes containing the lib file. |
syms | symbol table that gets populated and managed by this class. |
std::optional<recomp::symbol_table_t*> theo::decomp::decomp_t::decompose | ( | std::string & | entry_sym | ) |
decomposes (extracts) the symbols used. this function determines all used symbols given the entry point.
entry_sym | the entry point symbol name. |
std::vector<std::uint8_t> theo::decomp::decomp_t::lib | ( | ) |
gets a vector of bytes consisting of the lib file.
std::vector<std::vector<std::uint8_t> > theo::decomp::decomp_t::objs | ( | ) |
gets all the obj files as a vector of a vector of bytes.
std::vector<routine_t> theo::decomp::decomp_t::rtns | ( | ) |
gets all of the routine objects.
std::map<coff::section_header_t*, std::size_t>& theo::decomp::decomp_t::scn_hash_tbl | ( | ) |
gets the section hash table section header --> hash of the section header ptr.
recomp::symbol_table_t* theo::decomp::decomp_t::syms | ( | ) |
gets the symbol table.