|
|
|
\let\mypdfximage\pdfximage\def\pdfximage{\immediate\mypdfximage}\documentclass[twoside]{book}
|
|
|
|
|
|
|
|
%% moved from doxygen.sty due to workaround for LaTex 2019 version and unmaintained tabu package
|
|
|
|
\usepackage{ifthen}
|
|
|
|
\ifx\requestedLaTeXdate\undefined
|
|
|
|
\usepackage{array}
|
|
|
|
\else
|
|
|
|
\usepackage{array}[=2016-10-06]
|
|
|
|
\fi
|
|
|
|
%%
|
|
|
|
% Packages required by doxygen
|
|
|
|
\usepackage{fixltx2e}
|
|
|
|
\usepackage{doxygen}
|
|
|
|
\usepackage{graphicx}
|
|
|
|
\usepackage[utf8]{inputenc}
|
|
|
|
\usepackage{makeidx}
|
|
|
|
\PassOptionsToPackage{warn}{textcomp}
|
|
|
|
\usepackage{textcomp}
|
|
|
|
\usepackage[nointegrals]{wasysym}
|
|
|
|
\usepackage{ifxetex}
|
|
|
|
|
|
|
|
% Font selection
|
|
|
|
\usepackage[T1]{fontenc}
|
|
|
|
\usepackage[scaled=.90]{helvet}
|
|
|
|
\usepackage{courier}
|
|
|
|
\renewcommand{\familydefault}{\sfdefault}
|
|
|
|
\usepackage{sectsty}
|
|
|
|
\allsectionsfont{%
|
|
|
|
\fontseries{bc}\selectfont%
|
|
|
|
\color{darkgray}%
|
|
|
|
}
|
|
|
|
\renewcommand{\DoxyLabelFont}{%
|
|
|
|
\fontseries{bc}\selectfont%
|
|
|
|
\color{darkgray}%
|
|
|
|
}
|
|
|
|
\newcommand{\+}{\discretionary{\mbox{\scriptsize$\hookleftarrow$}}{}{}}
|
|
|
|
|
|
|
|
% Arguments of doxygenemoji:
|
|
|
|
% 1) ':<text>:' form of the emoji, already "LaTeX"-escaped
|
|
|
|
% 2) file with the name of the emoji without the .png extension
|
|
|
|
% in case image exist use this otherwise use the ':<text>:' form
|
|
|
|
\newcommand{\doxygenemoji}[2]{%
|
|
|
|
\IfFileExists{./#2.png}{\raisebox{-0.1em}{\includegraphics[height=0.9em]{./#2.png}}}{#1}%
|
|
|
|
}
|
|
|
|
% Page & text layout
|
|
|
|
\usepackage{geometry}
|
|
|
|
\geometry{%
|
|
|
|
a4paper,%
|
|
|
|
top=2.5cm,%
|
|
|
|
bottom=2.5cm,%
|
|
|
|
left=2.5cm,%
|
|
|
|
right=2.5cm%
|
|
|
|
}
|
|
|
|
\tolerance=750
|
|
|
|
\hfuzz=15pt
|
|
|
|
\hbadness=750
|
|
|
|
\setlength{\emergencystretch}{15pt}
|
|
|
|
\setlength{\parindent}{0cm}
|
|
|
|
\newcommand{\doxynormalparskip}{\setlength{\parskip}{3ex plus 2ex minus 2ex}}
|
|
|
|
\newcommand{\doxytocparskip}{\setlength{\parskip}{1ex plus 0ex minus 0ex}}
|
|
|
|
\doxynormalparskip
|
|
|
|
\makeatletter
|
|
|
|
\renewcommand{\paragraph}{%
|
|
|
|
\@startsection{paragraph}{4}{0ex}{-1.0ex}{1.0ex}{%
|
|
|
|
\normalfont\normalsize\bfseries\SS@parafont%
|
|
|
|
}%
|
|
|
|
}
|
|
|
|
\renewcommand{\subparagraph}{%
|
|
|
|
\@startsection{subparagraph}{5}{0ex}{-1.0ex}{1.0ex}{%
|
|
|
|
\normalfont\normalsize\bfseries\SS@subparafont%
|
|
|
|
}%
|
|
|
|
}
|
|
|
|
\makeatother
|
|
|
|
|
|
|
|
\makeatletter
|
|
|
|
\newcommand\hrulefilll{\leavevmode\leaders\hrule\hskip 0pt plus 1filll\kern\z@}
|
|
|
|
\makeatother
|
|
|
|
|
|
|
|
% Headers & footers
|
|
|
|
\usepackage{fancyhdr}
|
|
|
|
\pagestyle{fancyplain}
|
|
|
|
\renewcommand{\footrulewidth}{0.4pt}
|
|
|
|
%
|
|
|
|
\fancypagestyle{fancyplain}{
|
|
|
|
\fancyhf{}
|
|
|
|
\fancyhead[LE, RO]{\bfseries\thepage}
|
|
|
|
\fancyhead[LO]{\bfseries\rightmark}
|
|
|
|
\fancyhead[RE]{\bfseries\leftmark}
|
|
|
|
\fancyfoot[LO, RE]{\bfseries\scriptsize Generated by Doxygen }
|
|
|
|
}
|
|
|
|
%
|
|
|
|
\fancypagestyle{plain}{
|
|
|
|
\fancyhf{}
|
|
|
|
\fancyfoot[LO, RE]{\bfseries\scriptsize Generated by Doxygen }
|
|
|
|
\renewcommand{\headrulewidth}{0pt}}
|
|
|
|
%
|
|
|
|
\pagestyle{fancyplain}
|
|
|
|
%
|
|
|
|
\renewcommand{\chaptermark}[1]{%
|
|
|
|
\markboth{#1}{}%
|
|
|
|
}
|
|
|
|
\renewcommand{\sectionmark}[1]{%
|
|
|
|
\markright{\thesection\ #1}%
|
|
|
|
}
|
|
|
|
|
|
|
|
% Indices & bibliography
|
|
|
|
\usepackage{natbib}
|
|
|
|
\usepackage[titles]{tocloft}
|
|
|
|
\setcounter{tocdepth}{3}
|
|
|
|
\setcounter{secnumdepth}{5}
|
|
|
|
\makeindex
|
|
|
|
|
|
|
|
\usepackage{newunicodechar}
|
|
|
|
\newunicodechar{⁻}{${}^{-}$}% Superscript minus
|
|
|
|
\newunicodechar{²}{${}^{2}$}% Superscript two
|
|
|
|
\newunicodechar{³}{${}^{3}$}% Superscript three
|
|
|
|
|
|
|
|
% Hyperlinks (required, but should be loaded last)
|
|
|
|
\ifpdf
|
|
|
|
\usepackage[pdftex,pagebackref=true]{hyperref}
|
|
|
|
\else
|
|
|
|
\ifxetex
|
|
|
|
\usepackage[pagebackref=true]{hyperref}
|
|
|
|
\else
|
|
|
|
\usepackage[ps2pdf,pagebackref=true]{hyperref}
|
|
|
|
\fi
|
|
|
|
\fi
|
|
|
|
|
|
|
|
\hypersetup{%
|
|
|
|
colorlinks=true,%
|
|
|
|
linkcolor=blue,%
|
|
|
|
citecolor=blue,%
|
|
|
|
unicode%
|
|
|
|
}
|
|
|
|
|
|
|
|
% Custom commands
|
|
|
|
\newcommand{\clearemptydoublepage}{%
|
|
|
|
\newpage{\pagestyle{empty}\cleardoublepage}%
|
|
|
|
}
|
|
|
|
|
|
|
|
\usepackage{caption}
|
|
|
|
\captionsetup{labelsep=space,justification=centering,font={bf},singlelinecheck=off,skip=4pt,position=top}
|
|
|
|
|
|
|
|
\usepackage{etoc}
|
|
|
|
\etocsettocstyle{\doxytocparskip}{\doxynormalparskip}
|
|
|
|
\renewcommand{\numberline}[1]{#1~}
|
|
|
|
%===== C O N T E N T S =====
|
|
|
|
|
|
|
|
\begin{document}
|
|
|
|
\raggedbottom
|
|
|
|
|
|
|
|
% Titlepage & ToC
|
|
|
|
\hypersetup{pageanchor=false,
|
|
|
|
bookmarksnumbered=true,
|
|
|
|
pdfencoding=unicode
|
|
|
|
}
|
|
|
|
\pagenumbering{alph}
|
|
|
|
\begin{titlepage}
|
|
|
|
\vspace*{7cm}
|
|
|
|
\begin{center}%
|
|
|
|
{\Large Theodosius \\[1ex]\large v3.\+0 }\\
|
|
|
|
\vspace*{1cm}
|
|
|
|
{\large Generated by Doxygen 1.9.1}\\
|
|
|
|
\end{center}
|
|
|
|
\end{titlepage}
|
|
|
|
\clearemptydoublepage
|
|
|
|
\pagenumbering{roman}
|
|
|
|
\tableofcontents
|
|
|
|
\clearemptydoublepage
|
|
|
|
\pagenumbering{arabic}
|
|
|
|
\hypersetup{pageanchor=true}
|
|
|
|
|
|
|
|
%--- Begin generated contents ---
|
|
|
|
\chapter{Theodosius -\/ Jit linker, Mapper, Mutator, and Obfuscator}
|
|
|
|
\label{index}\hypertarget{index}{}\input{index}
|
|
|
|
\chapter{Demo Example Using Theo}
|
|
|
|
\label{md_examples_demo__demo__example__using__theo}
|
|
|
|
\Hypertarget{md_examples_demo__demo__example__using__theo}
|
|
|
|
\input{dd/d70/md_examples_demo__demo__example__using__theo}
|
|
|
|
\chapter{Namespace Index}
|
|
|
|
\input{namespaces}
|
|
|
|
\chapter{Hierarchical Index}
|
|
|
|
\input{hierarchy}
|
|
|
|
\chapter{Class Index}
|
|
|
|
\input{annotated}
|
|
|
|
\chapter{File Index}
|
|
|
|
\input{files}
|
|
|
|
\chapter{Namespace Documentation}
|
|
|
|
\input{da/de6/namespacetheo}
|
|
|
|
\input{d9/dbd/namespacetheo_1_1decomp}
|
|
|
|
\input{d5/da8/namespacetheo_1_1obf}
|
|
|
|
\input{d8/d82/namespacetheo_1_1obf_1_1transform}
|
|
|
|
\input{da/dbd/namespacetheo_1_1recomp}
|
|
|
|
\chapter{Class Documentation}
|
|
|
|
\input{d5/d9f/classtheo_1_1obf_1_1transform_1_1add__op__t}
|
|
|
|
\input{d6/d0e/classtheo_1_1decomp_1_1decomp__t}
|
|
|
|
\input{d9/d18/classtheo_1_1obf_1_1engine__t}
|
|
|
|
\input{d5/d6a/classtheo_1_1obf_1_1hello__world__pass__t}
|
|
|
|
\input{d6/dc1/classtheo_1_1obf_1_1jcc__rewrite__pass__t}
|
|
|
|
\input{d5/d08/classtheo_1_1obf_1_1next__inst__pass__t}
|
|
|
|
\input{d7/de2/classtheo_1_1obf_1_1transform_1_1operation__t}
|
|
|
|
\input{d4/dad/classtheo_1_1obf_1_1pass__t}
|
|
|
|
\input{d5/d05/classtheo_1_1recomp_1_1recomp__t}
|
|
|
|
\input{dd/d37/classtheo_1_1recomp_1_1reloc__t}
|
|
|
|
\input{dc/d39/classtheo_1_1obf_1_1reloc__transform__pass__t}
|
|
|
|
\input{d6/d52/classtheo_1_1obf_1_1transform_1_1rol__op__t}
|
|
|
|
\input{db/d8f/classtheo_1_1obf_1_1transform_1_1ror__op__t}
|
|
|
|
\input{df/db4/classtheo_1_1decomp_1_1routine__t}
|
|
|
|
\input{d6/d52/classtheo_1_1obf_1_1transform_1_1sub__op__t}
|
|
|
|
\input{d9/dd5/classtheo_1_1decomp_1_1symbol__t}
|
|
|
|
\input{db/d77/classtheo_1_1recomp_1_1symbol__table__t}
|
|
|
|
\input{d9/dbc/classtheo_1_1theo__t}
|
|
|
|
\input{da/db7/classtheo_1_1obf_1_1transform_1_1xor__op__t}
|
|
|
|
\chapter{File Documentation}
|
|
|
|
\input{d0/d18/_demo_01_example_01_using_01_theo_8md}
|
|
|
|
\input{db/dae/hello__world__pass_8hpp}
|
|
|
|
\input{df/d0a/main_8cpp}
|
|
|
|
\input{d2/d96/decomp_8hpp}
|
|
|
|
\input{de/df5/routine_8hpp}
|
|
|
|
\input{d6/d62/symbol_8hpp}
|
|
|
|
\input{de/d46/engine_8hpp}
|
|
|
|
\input{d8/d5a/pass_8hpp}
|
|
|
|
\input{d2/df9/jcc__rewrite__pass_8hpp}
|
|
|
|
\input{d5/d54/next__inst__pass_8hpp}
|
|
|
|
\input{de/d64/reloc__transform__pass_8hpp}
|
|
|
|
\input{d1/def/add__op_8hpp}
|
|
|
|
\input{d5/d18/gen_8hpp}
|
|
|
|
\input{d5/da4/operation_8hpp}
|
|
|
|
\input{d6/d8a/rol__op_8hpp}
|
|
|
|
\input{da/d34/ror__op_8hpp}
|
|
|
|
\input{d8/da9/sub__op_8hpp}
|
|
|
|
\input{d6/deb/transform_8hpp}
|
|
|
|
\input{d0/da4/xor__op_8hpp}
|
|
|
|
\input{d4/d4a/recomp_8hpp}
|
|
|
|
\input{d1/d82/reloc_8hpp}
|
|
|
|
\input{d0/d5e/symbol__table_8hpp}
|
|
|
|
\input{d2/d24/theo_8hpp}
|
|
|
|
\input{d9/dd6/_r_e_a_d_m_e_8md}
|
|
|
|
\input{dc/d83/decomp_8cpp}
|
|
|
|
\input{d2/dbb/routine_8cpp}
|
|
|
|
\input{d8/d67/symbol_8cpp}
|
|
|
|
\input{da/d5c/engine_8cpp}
|
|
|
|
\input{d9/db4/jcc__rewrite__pass_8cpp}
|
|
|
|
\input{df/d7d/next__inst__pass_8cpp}
|
|
|
|
\input{d6/da4/reloc__transform__pass_8cpp}
|
|
|
|
\input{db/d55/recomp_8cpp}
|
|
|
|
\input{da/d0c/symbol__table_8cpp}
|
|
|
|
\input{d2/d26/theo_8cpp}
|
|
|
|
%--- End generated contents ---
|
|
|
|
|
|
|
|
% Index
|
|
|
|
\backmatter
|
|
|
|
\newpage
|
|
|
|
\phantomsection
|
|
|
|
\clearemptydoublepage
|
|
|
|
\addcontentsline{toc}{chapter}{\indexname}
|
|
|
|
\printindex
|
|
|
|
|
|
|
|
\end{document}
|