% Handle batch mode % to overcome problems with too many open files \let\mypdfximage\pdfximage\def\pdfximage{\immediate\mypdfximage} % Set document class depending on configuration \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} % for \textsubscript \usepackage{doxygen} \usepackage{graphicx} \usepackage[utf8]{inputenc} \usepackage{makeidx} \PassOptionsToPackage{warn}{textcomp} \usepackage{textcomp} \usepackage[nointegrals]{wasysym} \usepackage{ifxetex} % NLS support packages % Define default fonts % Font selection \usepackage[T1]{fontenc} % set main and monospaced font \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) '::' 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 '::' 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% } % Allow a bit of overflow to go unnoticed by other means \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 % Redefine paragraph/subparagraph environments, using sectsty fonts \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}% } % ToC, LoF, LoT, bibliography, and index % Indices & bibliography \usepackage{natbib} \usepackage[titles]{tocloft} \setcounter{tocdepth}{3} \setcounter{secnumdepth}{5} % creating indexes \makeindex \usepackage{newunicodechar} \newunicodechar{⁻}{${}^{-}$}% Superscript minus \newunicodechar{²}{${}^{2}$}% Superscript two \newunicodechar{³}{${}^{3}$}% Superscript three % Hyperlinks % 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,% pdftitle=Theodosius,% pdfsubject=Jit linker, symbol mapper, and obfuscator% } % Custom commands used by the header % Custom commands \newcommand{\clearemptydoublepage}{% \newpage{\pagestyle{empty}\cleardoublepage}% } % caption style definition \usepackage{caption} \captionsetup{labelsep=space,justification=centering,font={bf},singlelinecheck=off,skip=4pt,position=top} % in page table of contents \usepackage{etoc} \etocsettocstyle{\doxytocparskip}{\doxynormalparskip} % prevent numbers overlap the titles in toc \renewcommand{\numberline}[1]{#1~} % End of preamble, now comes the document contents %===== C O N T E N T S ===== \begin{document} \raggedbottom % Titlepage & ToC % To avoid duplicate page anchors due to reuse of same numbers for % the index (be it as roman numbers) \hypersetup{pageanchor=false, bookmarksnumbered=true, pdfencoding=unicode } \pagenumbering{alph} \begin{titlepage} \vspace*{7cm} \begin{center}% {\Large Theodosius}\\ \vspace*{1cm} {\large Generated by Doxygen 1.9.3}\\ \end{center} \end{titlepage} \clearemptydoublepage \pagenumbering{roman} \tableofcontents \clearemptydoublepage \pagenumbering{arabic} % re-enable anchors again \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{Data Structure 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{Data Structure 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{db/dae/hello__world__pass_8hpp_source} \input{df/d0a/main_8cpp} \input{df/d0a/main_8cpp_source} \input{d2/d96/decomp_8hpp} \input{d2/d96/decomp_8hpp_source} \input{de/df5/routine_8hpp} \input{de/df5/routine_8hpp_source} \input{d6/d62/symbol_8hpp} \input{d6/d62/symbol_8hpp_source} \input{de/d46/engine_8hpp} \input{de/d46/engine_8hpp_source} \input{d8/d5a/pass_8hpp} \input{d8/d5a/pass_8hpp_source} \input{d2/df9/jcc__rewrite__pass_8hpp} \input{d2/df9/jcc__rewrite__pass_8hpp_source} \input{d5/d54/next__inst__pass_8hpp} \input{d5/d54/next__inst__pass_8hpp_source} \input{de/d64/reloc__transform__pass_8hpp} \input{de/d64/reloc__transform__pass_8hpp_source} \input{d1/def/add__op_8hpp} \input{d1/def/add__op_8hpp_source} \input{d5/d18/gen_8hpp} \input{d5/d18/gen_8hpp_source} \input{d5/da4/operation_8hpp} \input{d5/da4/operation_8hpp_source} \input{d6/d8a/rol__op_8hpp} \input{d6/d8a/rol__op_8hpp_source} \input{da/d34/ror__op_8hpp} \input{da/d34/ror__op_8hpp_source} \input{d8/da9/sub__op_8hpp} \input{d8/da9/sub__op_8hpp_source} \input{d6/deb/transform_8hpp} \input{d6/deb/transform_8hpp_source} \input{d0/da4/xor__op_8hpp} \input{d0/da4/xor__op_8hpp_source} \input{d4/d4a/recomp_8hpp} \input{d4/d4a/recomp_8hpp_source} \input{d1/d82/reloc_8hpp} \input{d1/d82/reloc_8hpp_source} \input{d0/d5e/symbol__table_8hpp} \input{d0/d5e/symbol__table_8hpp_source} \input{d2/d24/theo_8hpp} \input{d2/d24/theo_8hpp_source} \input{d9/dd6/_r_e_a_d_m_e_8md} \input{dc/d83/decomp_8cpp} \input{dc/d83/decomp_8cpp_source} \input{d2/dbb/routine_8cpp} \input{d2/dbb/routine_8cpp_source} \input{d8/d67/symbol_8cpp} \input{d8/d67/symbol_8cpp_source} \input{da/d5c/engine_8cpp} \input{da/d5c/engine_8cpp_source} \input{d9/db4/jcc__rewrite__pass_8cpp} \input{d9/db4/jcc__rewrite__pass_8cpp_source} \input{df/d7d/next__inst__pass_8cpp} \input{df/d7d/next__inst__pass_8cpp_source} \input{d6/da4/reloc__transform__pass_8cpp} \input{d6/da4/reloc__transform__pass_8cpp_source} \input{db/d55/recomp_8cpp} \input{db/d55/recomp_8cpp_source} \input{da/d0c/symbol__table_8cpp} \input{da/d0c/symbol__table_8cpp_source} \input{d2/d26/theo_8cpp} \input{d2/d26/theo_8cpp_source} %--- End generated contents --- % Index \backmatter \newpage \phantomsection \clearemptydoublepage \addcontentsline{toc}{chapter}{\indexname} \printindex % Required for some languages (in combination with latexdocumentpre from the header) \end{document}