Assignment-5 #2

Merged
saschato merged 18 commits from Assignment-5 into master 2024-06-10 14:32:32 +02:00
Showing only changes of commit 2ba5d59eb6 - Show all commits

View file

@ -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}