Reverse Engineering and Binary Exploitation (REE)
6/7. Semester
5 ECTS | 4 SWS
Continuous Assessment (CA)
Unlocking the secrets of programs: You analyze binary programs without access to their source code, determine how they work, selectively modify their behavior, and exploit vulnerabilities.
Contents
- goals of reverse engineering
- static analysis
- dynamic analysis
- decompilation and modification of binary Java programs
- basics in x86_64 assembler language
- usage of typical reverse engineering tools (radare2, Ghidra ...)
- disassembly and decompilation of native programs
- analysis of unknown executables and malware
- patching of native code
- vulnerabilities (buffer overflow, use after free etc.)
- explotation techniques (rop, formatstrings etc.)
- how to solve crackmes and capture the flags (CTF)
- strategies for anti reversing and counter measures
Competencies
Students are able to
- use state-of-the-art reverse engineering tools
- analyze given binary files and to assess their functionality
- batch binary files in order to change their behavior
- solve crackmes and capture the flags (CTF)
Literature
- M. Sikorski, Practical malware analysis. San Francisco: No Starch Press, 2012.
- D. Andriesse, Practical binary analysis. San Francisco: No Starch Press, Inc, 2019.
- C. Eagle und K. Nance, The Ghidra book. San Francisco, CA: No Starch Press, 2020.
- D. Yurichev, Reverse Engineering for Beginners. (https://beginners.re/main.html), 2019.
Lecturer
Recommended Previous Knowledge
Module Details
| Semester |
6/7 |
| Lecture Language |
German |
|
Frequency
|
Not regularly
|
| Credit Points (ECTS)
|
5 |
| Course Coordinator |
Prof. Thomas Smits |
| Duration |
1 Semester |
|
Course Achievement
|
None |
|
Prerequisite for exam
|
None |
|
Exam
|
Continuous Assessment (CA) |
Weekly Hours (SWS)
| Lecture |
1 SWS |
| Exercises |
3 SWS |
| Sum |
4 SWS |
Work Load
| Lecture |
30 h |
| Self Study |
90 h |
| Assignments |
30 h |
| Sum |
150 h |