Seminare
Seminar Software Reverse Engineering: Eine praktische Einführung
Von: Samstag, 27.04.2024
Bis: Sonntag, 28.04.2024
Bemerkung:
Sa. und So. 9-18 Uhr
Themenbereich: Methodenkompetenz
Prüfungsform: Vortrag
Kreditpunkte: 1
Workload: 30
Dozent : Julian Goeritz
Inhalt:
Was verbirgt sich hinter .exe-Dateien? Wie lässt sich der Quellcode einer Software zurückgewinnen, wenn er nicht verfügbar oder verloren ist?
Wie funktioniert das Kommunikationsprotokoll einer proprietären Software? Hat die Konkurrenz Quellcode gestohlen? Softwareentwicklerinnen und-entwickler mögen sich diese Fragen nicht alltäglich stellen, aber sie spielen in der Praxis eine nicht zu unterschätzende Rolle. Dieses Seminarvermittelt das nötige Wissen, um Software mittels Reverse Engineering auf einer tieferen Ebene zu verstehen. Als Grundlage dient die weitverbreitete x86-Architektur, die seit 1978 in vielerlei CPUs anzutreffen ist. Es werden unter anderem folgende Themen behandelt:
1. Einführung in Software Reverse Engineering
2. Ausführbare Dateien
3. x86-Assemblersprache
4. Funktionen
5. Disassemblierung
6. Dekompilierung
7. Debugging
8. Anti-Debugging
9. Obfuskation
10. Relevante Toolkits: Frida, Radare, QDBI etc.
Ziel:
Die Studierenden sollen befähigt werden, Software auf binärer Ebene zu verstehen, zu analysieren und zu verändern, ohne den Quelltextzu besitzen. Insbesondere mit Blick auf die IT-Sicherheit soll ein
Verständnis und Bewusstsein dafür entwickelt werden, was Software hinter den Kulissen tatsächlich tut. Der Fokus liegt hierbei auf der Praxis statt auf der Theorie. Die Studierenden erlernen den Umgang
mit Disassemblern und Debuggern wie dem Interactive Disassembler (IDA) und x64dbg. Sie verstehen, welche Schutzmaßnahmen in der Praxisergriffen werden, um das Reverse Engineering von Software zu verhindern
und welche entsprechenden Gegenmaßnahmen getroffen werden können.