206 lines
8.7 KiB
TeX
206 lines
8.7 KiB
TeX
% Copyright (C) 2014-2024 by Thomas Auzinger <thomas@auzinger.name>
|
|
|
|
\documentclass[draft,final]{vutinfth} % Remove option 'final' to obtain debug information.
|
|
|
|
% Define convenience functions to use the author name and the thesis title in the PDF document properties.
|
|
\newcommand{\authorname}{Lorenz Stechauner} % The author name without titles.
|
|
\newcommand{\thesistitle}{Intercepting and Manipulating\\System/Function Calls in\\Linux Systems} % The title of the thesis. The English version should be used, if it exists.
|
|
|
|
% Create the XMP metadata file for the creation of PDF/A compatible documents.
|
|
\begin{filecontents*}[overwrite]{\jobname.xmpdata}
|
|
\Author{\authorname} % The author's name in the document properties.
|
|
\Title{Intercepting and Manipulating System/Function Calls in Linux Systems} % The document's title in the document properties.
|
|
\Language{de-AT} % The document's language in the document properties. Select 'en-US', 'en-GB', or 'de-AT'.
|
|
\Keywords{system call\sep syscall\sep function call\sep intercept\sep hook} % The document's keywords in the document properties (separated by '\sep ').
|
|
\Publisher{TU Wien} % The document's publisher in the document properties.
|
|
\Subject{Thesis} % The document's subject in the document properties.
|
|
\end{filecontents*}
|
|
|
|
% Load packages to allow in- and output of non-ASCII characters.
|
|
\usepackage{lmodern} % Use an extension of the original Computer Modern font to minimize the use of bitmapped letters.
|
|
\usepackage[T1]{fontenc} % Determines font encoding of the output. Font packages have to be included before this line.
|
|
\usepackage[utf8]{inputenc} % Determines encoding of the input. All input files have to use UTF8 encoding.
|
|
|
|
% Extended LaTeX functionality is enables by including packages with \usepackage{...}.
|
|
\usepackage{amsmath} % Extended typesetting of mathematical expression.
|
|
\usepackage{amssymb} % Provides a multitude of mathematical symbols.
|
|
\usepackage{mathtools} % Further extensions of mathematical typesetting.
|
|
\usepackage{microtype} % Small-scale typographic enhancements.
|
|
\usepackage[inline]{enumitem} % User control over the layout of lists (itemize, enumerate, description).
|
|
\usepackage{multirow} % Allows table elements to span several rows.
|
|
\usepackage{booktabs} % Improves the typesetting of tables.
|
|
\usepackage{subcaption} % Allows the use of subfigures and enables their referencing.
|
|
\usepackage[ruled,linesnumbered,algochapter]{algorithm2e} % Enables the writing of pseudo code.
|
|
\usepackage[dvipsnames,table]{xcolor} % Allows the definition and use of colors. This package has to be included before tikz.
|
|
\usepackage{nag} % Issues warnings when best practices in writing LaTeX documents are violated.
|
|
\usepackage{todonotes} % Provides tooltip-like todo notes.
|
|
\usepackage{morewrites} % Increases the number of external files that can be used.
|
|
\usepackage[a-2b,mathxmp]{pdfx} % Enables PDF/A compliance. Loads the package hyperref and has to be included second to last.
|
|
\usepackage[acronym,toc]{glossaries} % Enables the generation of glossaries and lists of acronyms. This package has to be included last.
|
|
\usepackage{minted}
|
|
\usepackage{chngcntr}
|
|
\counterwithin{listing}{chapter}
|
|
\usepackage{pgf-umlsd}
|
|
\usepackage{textcomp}
|
|
\usepackage{tikz}
|
|
\usepackage{csvsimple}
|
|
\usetikzlibrary{shapes}
|
|
\usetikzlibrary{intersections}
|
|
\usepackage{pgfplots}
|
|
\usepgfplotslibrary{fillbetween}
|
|
\usepgfplotslibrary{units}
|
|
\usepackage[flushleft]{threeparttable}
|
|
\usepackage{siunitx}
|
|
\usepackage{attachfile}
|
|
|
|
\newcommand{\newthreadShift}[4][gray!30]{
|
|
\newinst[#4]{#2}{#3}
|
|
\stepcounter{threadnum}
|
|
\node[below of=inst\theinstnum,node distance=0.8cm] (thread\thethreadnum) {};
|
|
\tikzstyle{threadcolor\thethreadnum}=[fill=#1]
|
|
\tikzstyle{instcolor#2}=[fill=#1]
|
|
}
|
|
|
|
\tikzset{elips/.style={ellipse,draw,minimum width=2em,minimum height=1.8em,inner ysep=0pt},}
|
|
|
|
% Set PDF document properties
|
|
\hypersetup{
|
|
pdfpagelayout = TwoPageRight, % How the document is shown in PDF viewers (optional).
|
|
linkbordercolor = {Melon}, % The color of the borders of boxes around hyperlinks (optional).
|
|
}
|
|
|
|
\setpnumwidth{2.5em} % Avoid overfull hboxes in the table of contents (see memoir manual).
|
|
\setsecnumdepth{subsection} % Enumerate subsections.
|
|
|
|
\nonzeroparskip % Create space between paragraphs (optional).
|
|
\setlength{\parindent}{0pt} % Remove paragraph indentation (optional).
|
|
|
|
\makeindex % Use an optional index.
|
|
\makeglossaries % Use an optional glossary.
|
|
%\glstocfalse % Remove the glossaries from the table of contents.
|
|
|
|
% Set persons with 4 arguments:
|
|
% {title before name}{name}{title after name}{gender}
|
|
% where both titles are optional (i.e. can be given as empty brackets {}).
|
|
\setauthor{}{\authorname}{}{male}
|
|
\setadvisor{Ao.Univ.Prof. Dipl.-Ing. Dr.techn.}{Peter Puschner}{}{male}
|
|
|
|
% For bachelor and master theses:
|
|
\setfirstassistant{Univ.Ass. Dipl.-Ing.}{Florian Mihola}{BSc}{male}
|
|
%\setsecondassistant{Pretitle}{Forename Surname}{Posttitle}{male}
|
|
%\setthirdassistant{Pretitle}{Forename Surname}{Posttitle}{male}
|
|
|
|
% For dissertations:
|
|
%\setfirstreviewer{Pretitle}{Forename Surname}{Posttitle}{male}
|
|
%\setsecondreviewer{Pretitle}{Forename Surname}{Posttitle}{male}
|
|
|
|
% For dissertations at the PhD School and optionally for dissertations:
|
|
%\setsecondadvisor{Pretitle}{Forename Surname}{Posttitle}{male} % Comment to remove.
|
|
|
|
% Required data.
|
|
\setregnumber{12119052}
|
|
\setdate{19}{08}{2025} % Set date with 3 arguments: {day}{month}{year}.
|
|
\settitle{\thesistitle}{Abfangen und Manipulieren von\\System-/Funktionsaufrufen in\\Linux-Systemen} % Sets English and German version of the title (both can be English or German). If your title contains commas, enclose it with additional curvy brackets (i.e., {{your title}}) or define it as a macro as done with \thesistitle.
|
|
%\setsubtitle{Optional Subtitle of the Thesis}{Optionaler Untertitel der Arbeit} % Sets English and German version of the subtitle (both can be English or German).
|
|
|
|
% Select the thesis type: bachelor / master / doctor.
|
|
% Bachelor:
|
|
\setthesis{bachelor}
|
|
%
|
|
% Master:
|
|
%\setthesis{master}
|
|
%\setmasterdegree{dipl.} % dipl. / rer.nat. / rer.soc.oec. / master
|
|
%
|
|
% Doctor:
|
|
%\setthesis{doctor}
|
|
%\setdoctordegree{rer.soc.oec.}% rer.nat. / techn. / rer.soc.oec.
|
|
|
|
% For bachelor and master:
|
|
\setcurriculum{Software \& Information Engineering}{Software \& Information Engineering} % Sets the English and German name of the curriculum.
|
|
|
|
% Optional reviewer data:
|
|
%\setfirstreviewerdata{Affiliation, Country}
|
|
%\setsecondreviewerdata{Affiliation, Country}
|
|
|
|
|
|
\begin{document}
|
|
|
|
\frontmatter % Switches to roman numbering.
|
|
% The structure of the thesis has to conform to the guidelines at
|
|
% https://informatics.tuwien.ac.at/study-services
|
|
|
|
\addtitlepage{naustrian} % German title page.
|
|
\addtitlepage{english} % English title page.
|
|
\addstatementpage
|
|
|
|
%\begin{danksagung*}
|
|
%\todo{Ihr Text hier.}
|
|
%\end{danksagung*}
|
|
|
|
%\begin{acknowledgements*}
|
|
%\todo{Enter your text here.}
|
|
%\end{acknowledgements*}
|
|
|
|
\begin{kurzfassung}
|
|
\input{src/00.kurzfassung}
|
|
\end{kurzfassung}
|
|
|
|
\begin{abstract}
|
|
\input{src/00.abstract}
|
|
\end{abstract}
|
|
|
|
% Select the language of the thesis, e.g., english or naustrian.
|
|
\selectlanguage{english}
|
|
|
|
% Add a table of contents (toc).
|
|
\tableofcontents % Starred version, i.e., \tableofcontents*, removes the self-entry.
|
|
|
|
% Switch to arabic numbering and start the enumeration of chapters in the table of content.
|
|
\mainmatter
|
|
\input{src/01.introduction}
|
|
\input{src/02.intercept}
|
|
\input{src/03.manipulate}
|
|
\input{src/04.related-work}
|
|
\input{src/05.evaluation}
|
|
\input{src/06.conclusion}
|
|
\backmatter
|
|
|
|
% Declare the use of AI tools as mentioned in the statement of originality.
|
|
% Use either the English aitools or the German kitools.
|
|
\begin{aitools}
|
|
No generative AI tools were used in and for this work whatsoever.
|
|
The only exception was the use of ChatGPT for proofreading and refining of the abstract.
|
|
\end{aitools}
|
|
|
|
%\begin{kitools}
|
|
%\todo{Ihr Text hier.}
|
|
%\end{kitools}
|
|
|
|
% Use an optional list of figures.
|
|
\listoffigures % Starred version, i.e., \listoffigures*, removes the toc entry.
|
|
|
|
% Use an optional list of tables.
|
|
\cleardoublepage % Start list of tables on the next empty right hand page.
|
|
\listoftables % Starred version, i.e., \listoftables*, removes the toc entry.
|
|
|
|
% Use an optional list of algorithms.
|
|
%\listofalgorithms
|
|
%\addcontentsline{toc}{chapter}{List of Algorithms}
|
|
|
|
% Use an optional list of listings.
|
|
\cleardoublepage
|
|
\listof{listing}{\listoflistingscaption}
|
|
\addcontentsline{toc}{chapter}{\listoflistingscaption}
|
|
|
|
% Add an index.
|
|
\printindex
|
|
|
|
% Add a glossary.
|
|
\printglossaries
|
|
|
|
% Add a bibliography.
|
|
\bibliographystyle{plain}
|
|
\bibliography{src/99.intercept}
|
|
|
|
\end{document}
|