You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
103 lines
5.1 KiB
103 lines
5.1 KiB
\hypertarget{classtheo_1_1theo__t}{}\doxysection{theo\+::theo\+\_\+t Class Reference}
|
|
\label{classtheo_1_1theo__t}\index{theo::theo\_t@{theo::theo\_t}}
|
|
|
|
|
|
the main class which encapsulates a symbol table, decomp, and recomp objects. This class is a bridge that connects all three\+: decomp, obf, recomp.
|
|
|
|
|
|
|
|
|
|
{\ttfamily \#include $<$theo.\+hpp$>$}
|
|
|
|
\doxysubsection*{Public Member Functions}
|
|
\begin{DoxyCompactItemize}
|
|
\item
|
|
\mbox{\hyperlink{classtheo_1_1theo__t_a0a9ae3322261b97cf1dc47c908ef3c6d}{theo\+\_\+t}} (std\+::vector$<$ std\+::uint8\+\_\+t $>$ \&lib, \mbox{\hyperlink{namespacetheo_a66efe2c63e06764fb2d9a378c688c680}{lnk\+\_\+fns\+\_\+t}} lnkr\+\_\+fns, const std\+::string \&\&entry\+\_\+sym)
|
|
\begin{DoxyCompactList}\small\item\em explicit constructor for theo class. \end{DoxyCompactList}\item
|
|
std\+::optional$<$ std\+::uint32\+\_\+t $>$ \mbox{\hyperlink{classtheo_1_1theo__t_a66257ff5d9825483d85e58384a12760a}{decompose}} ()
|
|
\begin{DoxyCompactList}\small\item\em decomposes the lib file and return the number of symbols that are used. \end{DoxyCompactList}\item
|
|
std\+::uintptr\+\_\+t \mbox{\hyperlink{classtheo_1_1theo__t_a39e067dd71f82b437c6a418d41e38b27}{compose}} ()
|
|
\begin{DoxyCompactList}\small\item\em compose the decomposed module. This will run obfuscation passes, the map and resolve symbols to each other. \end{DoxyCompactList}\item
|
|
std\+::uintptr\+\_\+t \mbox{\hyperlink{classtheo_1_1theo__t_a97c52bda4b07a456ff1ea6f3c1cdbe24}{resolve}} (const std\+::string \&\&sym)
|
|
\begin{DoxyCompactList}\small\item\em given the name of a symbol, it returns the address of where its mapped. \end{DoxyCompactList}\end{DoxyCompactItemize}
|
|
|
|
|
|
\doxysubsection{Detailed Description}
|
|
the main class which encapsulates a symbol table, decomp, and recomp objects. This class is a bridge that connects all three\+: decomp, obf, recomp.
|
|
|
|
You will create an object of this type when using theo.
|
|
|
|
\doxysubsection{Constructor \& Destructor Documentation}
|
|
\mbox{\Hypertarget{classtheo_1_1theo__t_a0a9ae3322261b97cf1dc47c908ef3c6d}\label{classtheo_1_1theo__t_a0a9ae3322261b97cf1dc47c908ef3c6d}}
|
|
\index{theo::theo\_t@{theo::theo\_t}!theo\_t@{theo\_t}}
|
|
\index{theo\_t@{theo\_t}!theo::theo\_t@{theo::theo\_t}}
|
|
\doxysubsubsection{\texorpdfstring{theo\_t()}{theo\_t()}}
|
|
{\footnotesize\ttfamily theo\+::theo\+\_\+t\+::theo\+\_\+t (\begin{DoxyParamCaption}\item[{std\+::vector$<$ std\+::uint8\+\_\+t $>$ \&}]{lib, }\item[{\mbox{\hyperlink{namespacetheo_a66efe2c63e06764fb2d9a378c688c680}{lnk\+\_\+fns\+\_\+t}}}]{lnkr\+\_\+fns, }\item[{const std\+::string \&\&}]{entry\+\_\+sym }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [explicit]}}
|
|
|
|
|
|
|
|
explicit constructor for theo class.
|
|
|
|
|
|
\begin{DoxyParams}{Parameters}
|
|
{\em lib} & a vector of bytes consisting of a lib\\
|
|
\hline
|
|
{\em lnkr\+\_\+fns} & \\
|
|
\hline
|
|
{\em entry\+\_\+sym} & the name of the function which will be used as the entry point\\
|
|
\hline
|
|
\end{DoxyParams}
|
|
|
|
|
|
\doxysubsection{Member Function Documentation}
|
|
\mbox{\Hypertarget{classtheo_1_1theo__t_a39e067dd71f82b437c6a418d41e38b27}\label{classtheo_1_1theo__t_a39e067dd71f82b437c6a418d41e38b27}}
|
|
\index{theo::theo\_t@{theo::theo\_t}!compose@{compose}}
|
|
\index{compose@{compose}!theo::theo\_t@{theo::theo\_t}}
|
|
\doxysubsubsection{\texorpdfstring{compose()}{compose()}}
|
|
{\footnotesize\ttfamily std\+::uintptr\+\_\+t theo\+::theo\+\_\+t\+::compose (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
|
|
|
|
|
|
|
|
compose the decomposed module. This will run obfuscation passes, the map and resolve symbols to each other.
|
|
|
|
\begin{DoxyReturn}{Returns}
|
|
returns the address of the entry point symbol
|
|
\end{DoxyReturn}
|
|
\mbox{\Hypertarget{classtheo_1_1theo__t_a66257ff5d9825483d85e58384a12760a}\label{classtheo_1_1theo__t_a66257ff5d9825483d85e58384a12760a}}
|
|
\index{theo::theo\_t@{theo::theo\_t}!decompose@{decompose}}
|
|
\index{decompose@{decompose}!theo::theo\_t@{theo::theo\_t}}
|
|
\doxysubsubsection{\texorpdfstring{decompose()}{decompose()}}
|
|
{\footnotesize\ttfamily std\+::optional$<$ std\+::uint32\+\_\+t $>$ theo\+::theo\+\_\+t\+::decompose (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
|
|
|
|
|
|
|
|
decomposes the lib file and return the number of symbols that are used.
|
|
|
|
\begin{DoxyReturn}{Returns}
|
|
optional amount of symbols that are used. no value if decomposition fails.
|
|
\end{DoxyReturn}
|
|
\mbox{\Hypertarget{classtheo_1_1theo__t_a97c52bda4b07a456ff1ea6f3c1cdbe24}\label{classtheo_1_1theo__t_a97c52bda4b07a456ff1ea6f3c1cdbe24}}
|
|
\index{theo::theo\_t@{theo::theo\_t}!resolve@{resolve}}
|
|
\index{resolve@{resolve}!theo::theo\_t@{theo::theo\_t}}
|
|
\doxysubsubsection{\texorpdfstring{resolve()}{resolve()}}
|
|
{\footnotesize\ttfamily std\+::uintptr\+\_\+t theo\+::theo\+\_\+t\+::resolve (\begin{DoxyParamCaption}\item[{const std\+::string \&\&}]{sym }\end{DoxyParamCaption})}
|
|
|
|
|
|
|
|
given the name of a symbol, it returns the address of where its mapped.
|
|
|
|
|
|
\begin{DoxyParams}{Parameters}
|
|
{\em sym} & the name of the symbol\\
|
|
\hline
|
|
\end{DoxyParams}
|
|
\begin{DoxyReturn}{Returns}
|
|
the address of the symbol
|
|
\end{DoxyReturn}
|
|
|
|
|
|
The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
|
|
\item
|
|
include/\mbox{\hyperlink{theo_8hpp}{theo.\+hpp}}\item
|
|
src/\mbox{\hyperlink{theo_8cpp}{theo.\+cpp}}\end{DoxyCompactItemize}
|