\hypertarget{operation_8hpp}{}\doxysection{include/obf/transform/operation.hpp File Reference}
\label{operation_8hpp}\index{include/obf/transform/operation.hpp@{include/obf/transform/operation.hpp}}
{\ttfamily \#include $<$spdlog/spdlog.\+h$>$}\newline
{\ttfamily \#include $<$bit$>$}\newline
{\ttfamily \#include $<$bitset$>$}\newline
{\ttfamily \#include $<$functional$>$}\newline
{\ttfamily \#include $<$map$>$}\newline
{\ttfamily \#include $<$random$>$}\newline
{\ttfamily \#include $<$xed-\/decode.\+h$>$}\newline
{\ttfamily \#include $<$xed-\/interface.\+h$>$}\newline
Include dependency graph for operation.\+hpp\+:
% FIG 0
This graph shows which files directly or indirectly include this file\+:
% FIG 1
\doxysubsection*{Classes}
\begin{DoxyCompactItemize}
\item 
class \mbox{\hyperlink{classtheo_1_1obf_1_1transform_1_1operation__t}{theo\+::obf\+::transform\+::operation\+\_\+t}}
\begin{DoxyCompactList}\small\item\em \mbox{\hyperlink{classtheo_1_1obf_1_1transform_1_1operation__t}{operation\+\_\+t}} is the base class for all types of transformations. classes that inherit this class are singleton and simply call the super constructor (\mbox{\hyperlink{classtheo_1_1obf_1_1transform_1_1operation__t_a3876ca1c7904aed54940e1519fc9fdf4}{operation\+\_\+t\+::operation\+\_\+t}}). \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Namespaces}
\begin{DoxyCompactItemize}
\item 
 \mbox{\hyperlink{namespacetheo}{theo}}
\begin{DoxyCompactList}\small\item\em The outer most encompassing namespace of this project. \end{DoxyCompactList}\item 
 \mbox{\hyperlink{namespacetheo_1_1obf}{theo\+::obf}}
\begin{DoxyCompactList}\small\item\em this is the main namespace for obfuscation related things. \end{DoxyCompactList}\item 
 \mbox{\hyperlink{namespacetheo_1_1obf_1_1transform}{theo\+::obf\+::transform}}
\begin{DoxyCompactList}\small\item\em this namespace encompasses the code for transforming relocations. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define \mbox{\hyperlink{operation_8hpp_a3925943d185a09ad9e32ed8637ccb533}{XED\+\_\+\+ENCODER}}
\end{DoxyCompactItemize}
\doxysubsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
using \mbox{\hyperlink{namespacetheo_1_1obf_1_1transform_a875984c1ce09aa998fe48cca55270ecc}{theo\+::obf\+::transform\+::transform\+\_\+t}} = std\+::function$<$ std\+::size\+\_\+t(std\+::size\+\_\+t, std\+::uint32\+\_\+t)$>$
\begin{DoxyCompactList}\small\item\em lambda function which takes in a 64bit value (relocation address) and a 32bit value (random value used in transformation). \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Macro Definition Documentation}
\mbox{\Hypertarget{operation_8hpp_a3925943d185a09ad9e32ed8637ccb533}\label{operation_8hpp_a3925943d185a09ad9e32ed8637ccb533}} 
\index{operation.hpp@{operation.hpp}!XED\_ENCODER@{XED\_ENCODER}}
\index{XED\_ENCODER@{XED\_ENCODER}!operation.hpp@{operation.hpp}}
\doxysubsubsection{\texorpdfstring{XED\_ENCODER}{XED\_ENCODER}}
{\footnotesize\ttfamily \#define XED\+\_\+\+ENCODER}



Definition at line 39 of file operation.\+hpp.

