Theodosius v3.0
Jit linker, symbol mapper, and obfuscator
Data Structures | Typedefs | Enumerations
theo::decomp Namespace Reference

the namespace that contains all of the decomposition related code. More...

Data Structures

class  decomp_t
 the main decomposition class which is responsible for breaking down lib file into coff files, and extracted used symbols from the coff files. More...
 
class  routine_t
 the routine class which is responsible for creating symbols for routines. if the routine is located inside a section with the name ".split" it will break functions into instruction symbols. More...
 
class  symbol_t
 symbol_t is an abstraction upon the coff symbol. this allows for easier manipulation of the symbol. symbols can be different things, sections, functions, and even instructions (when functions are broken down). More...
 

Typedefs

using sym_data_t = std::tuple< coff::image_t *, coff::symbol_t *, std::uint32_t >
 meta symbol data. consists of the coff image which contains the coff symbol, the coff symbol itself, and the size (if any) of the symbol. More...
 

Enumerations

enum  sym_type_t {
  function = 0b00000001 , instruction = 0b00000010 , data = 0b00000100 , section = 0b00001000 ,
  all = section | data | instruction | function
}
 meta symbol type. this is an abstraction upon the coff symbol storage/class type. More...
 

Detailed Description

the namespace that contains all of the decomposition related code.

Typedef Documentation

◆ sym_data_t

using theo::decomp::sym_data_t = typedef std::tuple<coff::image_t*, coff::symbol_t*, std::uint32_t>

meta symbol data. consists of the coff image which contains the coff symbol, the coff symbol itself, and the size (if any) of the symbol.

Definition at line 55 of file decomp.hpp.

Enumeration Type Documentation

◆ sym_type_t

meta symbol type. this is an abstraction upon the coff symbol storage/class type.

Enumerator
function 
instruction 
data 
section 
all 

Definition at line 43 of file symbol.hpp.

43 {
44 function = 0b00000001,
45 instruction = 0b00000010,
46 data = 0b00000100,
47 section = 0b00001000,
49};