88 lines
2.0 KiB
TeX
88 lines
2.0 KiB
TeX
\documentclass[a4paper]{article}
|
|
|
|
\usepackage{baskervald}
|
|
\usepackage{booktabs}
|
|
\usepackage{courierten}
|
|
\usepackage{cuted}
|
|
\usepackage{helvet}
|
|
\usepackage[hmargin=4.5cm,vmargin=3.5cm]{geometry}
|
|
\usepackage{mathtools}
|
|
\usepackage{sectsty}
|
|
\usepackage{tabularx}
|
|
|
|
\pagenumbering{gobble}
|
|
\setcounter{secnumdepth}{0}
|
|
|
|
\allsectionsfont{\sffamily}
|
|
|
|
\begin{document}
|
|
|
|
\begin{center}
|
|
\LARGE\sffamily\bfseries Basic AMD64 Linux Syscalls
|
|
\vspace{1em}
|
|
\end{center}
|
|
|
|
\noindent
|
|
\begin{center}
|
|
\begin{tabular}{>{\ttfamily}cl}
|
|
\toprule
|
|
\multicolumn{2}{>{\sffamily\bfseries}c}{Register Usage} \\
|
|
\midrule
|
|
rax & Syscall number \\
|
|
& Return value \\
|
|
rdi & First argument \\
|
|
rsi & Second argument \\
|
|
rdx & Third argument \\
|
|
\bottomrule
|
|
\end{tabular}
|
|
\hspace{1em}
|
|
\begin{tabular}{l>{$}r<{$}}
|
|
\toprule
|
|
\multicolumn{2}{>{\sffamily\bfseries}c}{Common open(2) Flags} \\
|
|
\midrule
|
|
Read-only & 0_h \\
|
|
Write-only & 1_h \\
|
|
Read/write & 2_h \\
|
|
Create & 40_h \\
|
|
Truncate & 200_h \\
|
|
Append & 400_h \\
|
|
\bottomrule
|
|
\end{tabular}
|
|
\end{center}
|
|
|
|
\section{File I/O}
|
|
|
|
\begin{tabularx}{\textwidth}{p{4em}p{2em}>{\ttfamily}cX}
|
|
\toprule
|
|
read & 0 & rdi & File descriptor to read from \\
|
|
& & rsi & Address of buffer \\
|
|
& & rdx & Number of bytes to read \\
|
|
\midrule
|
|
write & 1 & rdi & File descriptor to write to \\
|
|
& & rsi & Address of buffer \\
|
|
& & rdx & Number of bytes to write \\
|
|
\midrule
|
|
open & 2 & rdi & Address of path \\
|
|
& & rsi & Bitwise OR of flags \\
|
|
& & rdx & Mode of file, if call creates a file \\
|
|
\midrule
|
|
close & 3 & rdi & File descriptor to close \\
|
|
\bottomrule
|
|
\end{tabularx}
|
|
|
|
\section{Process Control}
|
|
|
|
\begin{tabularx}{\textwidth}{p{4em}p{2em}>{\ttfamily}cX}
|
|
\toprule
|
|
fork & 57 & \textrm{\textendash} & No parameters \\
|
|
\midrule
|
|
execve & 59 & rdi & Address of path \\
|
|
& & rsi & Address of array of arguments \\
|
|
& & rsi & Address of array of environment variables \\
|
|
\midrule
|
|
exit & 60 & rdi & Exit code \\
|
|
\bottomrule
|
|
\end{tabularx}
|
|
|
|
\end{document}
|