From 2ba5d59eb6ca025af74899eb2b58020162bbf13d Mon Sep 17 00:00:00 2001 From: Paul Zinselmeyer Date: Sun, 9 Jun 2024 16:02:57 +0200 Subject: [PATCH] =?UTF-8?q?[Assignment=205]=20LaTeX-Ausf=C3=BChrung=20von?= =?UTF-8?q?=202a=20und=203a?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../abgabe.tex | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/Assignment 5 - Software Security - Teil 1/abgabe.tex b/Assignment 5 - Software Security - Teil 1/abgabe.tex index 9c390be..5a6efbd 100644 --- a/Assignment 5 - Software Security - Teil 1/abgabe.tex +++ b/Assignment 5 - Software Security - Teil 1/abgabe.tex @@ -70,4 +70,22 @@ \sheetnr{5} % <-- Anpassen % \begin{document} +\begin{exercise}[Crackme]{2} + Die Funkion \lstinline{verify_key} leitet das Passwort aus einem geheimen Schlüssel ab, indem der ASCII-Wert jedes Zeichens, abhängig von dessen Position, verändert wird. + Dem ASCII-Wert jedes Zeichens wird der doppelte Positionswert, bei 0 startend, abgezogen. + + Die Funktion gibt den Wert \lstinline{1} zurück, falls das abgeleitete Passwort mit der konstanten Zeichenkette \lstinline{MMNNQ} übereinstimmt. + Andernfalls wird der Wert \lstinline{0} zurückgegeben. +\end{exercise} + +\begin{exercise}[System Calls und Shellcode]{3} +\begin{subexercises} +\item Ein Linux-Syscall auf der x86-Architektur ist als i386-Architektur in \lstinline{syscall(2)} der Linux Manpages spezifiziert. + oohhh + Dabei wird die Zahlenkennung des Syscalls in Register eax übergeben. + Bis zu 6 Argumente können in den Registern \lstinline{ebx}, \lstinline{ecx}, \lstinline{edx}, \lstinline{esi}, \lstinline{edi} und \lstinline{ebp} übergeben werden. + Mit dem Aufruf der Instruktion \lstinline{int $0x80} wird der Syscall ausgelöst und der Syscall-Handler im Kernel durch Auslösen eines Interrupts ausgeführt. + Ausgaben des Syscalls werden in den Registern eax und edx zurückgegeben. +\end{subexercises} +\end{exercise} \end{document}