assignments/readme.md

4.2 KiB

Reverse Engineering (Wintersemester 2024/2025)

👋 Willkommen zum Kurs Reverse Engineering (REE)

In diesem Kurs erfahren Sie, wie man einem unbekannten Binärartefakt (Programm, Virus, Payload) seine Geheimnisse entlocken kann. Hierzu werden Sie grundlegende Techniken der Analyse solcher Programme erlernen und diese Techniken verwenden, um deren Funktionsweise zu verstehen und Schwachstellen zu finden. Am Ende des Kurses werden Sie in der Lage sein, einfache CTFs (Capture The Flag) aus dem Bereich des Reverse Engineerings zu lösen und eigene kleinere Aufgaben für Ihre Mitstudierenden zu entwickeln, die diese dann lösen müssen.

📆 Assignments

Hier finden Sie die wöchentlichen Assignments für die Vorlesung Reverse Engineering (RE). Die Assignments sind unten, zusammen mit dem Fälligkeitsdatum, aufgelistet.

Einige dieser Assignments sind benotet, d.h. die Qualität Ihrer Ausarbeitung geht in die Gesamtnote für diesen Kurs ein. Sie erkennen die benoteten Assignments an dem Abgabedatum, bis zu dem Ihre Lösung hochgeladen sein muss.

Hinweise zur nötigen Softwareausstattung finden Sie hier.

# Ausgabe Thema Fällig am 📆
1. 02.10.2024 Java-Klasse analysieren und patchen

🎓 Benotung

Die Benotung des Kurses erfolgt im Format Continuous Assessment (CA). Hierzu werden Ihre Leistungen während des gesamten Semesters bewertet und die Endnote ergibt sich aus den Einzelleistungen.

Bewertet werden:

  • die erstellten Writeups und Lösungen zu den Assignments
  • die Erstellung neuer Aufgaben/CTFs durch die Teams (Peer-Aufgaben)
  • die Lösung der Peer-Aufgaben/CTFs durch die Teams

Alle mit einem Abgabedatum gekennzeichneten Assignments sind Teil der Bewertung und müssen von Ihnen bearbeitet und fristgerecht abgegeben werden.

📚 Literatur zur Vorlesung

  • Sikorski, M. and Honig, A. (2012). Practical Malware Analysis: The Hands-On Guide to Dissecting Malicious Software. No Starch Press.
  • Andriesse, D. (2018). Practical Binary Analysis: Build Your Own Linux Tools for Binary Instrumentation, Analysis, and Disassembly. No Starch Press.
  • Eagle C. and Nance K. (2020). The Ghidra Book: The Definitive Guide. No Starch Press.
  • Yurichev, D. (2019). Reverse Engineering for Beginners. Online
  • x86-64 Assembly Language Programming with Ubuntu
  • Intel Dokumentation zu x86-64
  • System V ABI