Theodosius v3.0
Jit linker, symbol mapper, and obfuscator
|
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. |
Definition at line 34 of file decomp.cpp.
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. |
Definition at line 37 of file decomp.cpp.
References lib().
Referenced by theo::theo_t::decompose().
std::vector< std::uint8_t > theo::decomp::decomp_t::lib | ( | ) |
gets a vector of bytes consisting of the lib file.
Definition at line 285 of file decomp.cpp.
Referenced by decompose().
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.
Definition at line 289 of file decomp.cpp.
std::vector< routine_t > theo::decomp::decomp_t::rtns | ( | ) |
gets all of the routine objects.
Definition at line 281 of file decomp.cpp.
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.
Definition at line 297 of file decomp.cpp.
recomp::symbol_table_t * theo::decomp::decomp_t::syms | ( | ) |
gets the symbol table.
Definition at line 293 of file decomp.cpp.
Referenced by theo::recomp::recomp_t::allocate().