Theodosius
v3.0
Jit linker, mapper, obfuscator, and mutator
|
operation_t is the base class for all types of transformations. classes that inherit this class are singleton and simply call the super constructor (operation_t::operation_t). More...
#include <operation.hpp>
Public Member Functions | |
operation_t (transform_t op, xed_iclass_enum_t type) | |
explicit constructor for operation_t More... | |
std::vector< std::uint8_t > | native (const xed_decoded_inst_t *inst, std::uint32_t imm) |
generates a native transform instruction given an existing instruction. it works like so: More... | |
xed_iclass_enum_t | inverse () |
gets the inverse operation of the current operation. More... | |
transform_t * | get_transform () |
gets a pointer to the lambda function which contains the transform logic. More... | |
xed_iclass_enum_t | type () |
gets the operation type. such as XED_ICLASS_ADD, XED_ICLASS_SUB, etc... More... | |
Static Public Member Functions | |
static std::size_t | random (std::size_t lowest, std::size_t largest) |
generate a random number in a range. More... | |
operation_t is the base class for all types of transformations. classes that inherit this class are singleton and simply call the super constructor (operation_t::operation_t).
Definition at line 61 of file operation.hpp.
|
inlineexplicit |
explicit constructor for operation_t
op | lambda function when executed applies transformations. |
type | type of transformation, such as XOR, ADD, SUB, etc... |
Definition at line 69 of file operation.hpp.
|
inline |
gets a pointer to the lambda function which contains the transform logic.
Definition at line 133 of file operation.hpp.
|
inline |
gets the inverse operation of the current operation.
Definition at line 126 of file operation.hpp.
|
inline |
generates a native transform instruction given an existing instruction. it works like so:
mov rax, &MessageBoxA ; original instruction with relocation
; this function takes the first operand and out of the original ; instruction and uses it to generate a transformation.
xor rax, 0x39280928 ; this would be an example output for the xor ;operation.
inst | instruction with a relocation to generate a transformation for. |
imm | random 32bit number used in the generate transform. |
Definition at line 89 of file operation.hpp.
|
inlinestatic |
generate a random number in a range.
lowest | lowest value of the range. |
largest | highest value of the range. |
Definition at line 148 of file operation.hpp.
|
inline |
gets the operation type. such as XED_ICLASS_ADD, XED_ICLASS_SUB, etc...
Definition at line 140 of file operation.hpp.