Website
Curriculum

Modul CS3207-KP04

Reverse Engineering Lab (RevEngPr)

Duration:


1 Semester
Turnus of offer:


each winter semester
Credit points:


4
Course of studies, specific field and terms:
  • Bachelor Computer Science 2019 (optional subject), Extended optional subjects, Arbitrary semester
  • Bachelor IT-Security 2016 (optional subject), IT-Security, Arbitrary semester
Classes and lectures:
  • Lab Reverse Engineering (practical course as compact course, 3 SWS)
Workload:
  • 60 Hours private studies and exercises
  • 60 Hours in-classroom work
Contents of teaching:
  • Introduction to Reverse Engineering (dynamic, static), Executables, Calling Conventions and API calls for a common OS like Windows
  • Settting up a Reverse Engineering System and use of free Reverse Engineering tools
  • Programing in Assembler
  • Perform structured program analysis
  • Add new functionality to existing programs
  • Handling of anti-reverse-engineering techniques
Qualification-goals/Competencies:
  • The students can explain basic reverse engineering methods and apply them to simple programs
  • The students know different techniques to make reverse engineering harder and can spot these during analysis
  • The students know commonly used API functions and are able to build simple applications in Assembler
  • The students can make specific changes in or add functionality to existing programs
  • The students can perform a structured analysis and document it appropiately
Grading through:
  • B-Certificate (not graded)
Responsible for this module:
Teachers:
  • Dr. Ralf Zimmermann
Literature:
  • D. Andriesse: Practical Binary Analysis - No Starch Press, 2019
  • B. Dang, A. Gazet, E. Bachaalany: Practical Reverse Engineering - Wiley, 2014
  • C. Eagle: The Ghidra Book - No Starch Press, 2020
  • E. Eilam: Reversing: Secrets of Reverse Engineering - Wiley, 2005
  • M. Russinovich, D. Solomon, A. Ionescu: Windows Internals Part 2 - 6th Edition, Microsoft Press, 2012
  • M. Sikorski, A. Honig: Practical Malware Analysis - No Starch Press, 2012
  • P. Yosifovich, A. Ionescu, M. Russinovich, D. Solomon: Windows Internals Part 1 - 7th Edition, Microsoft Press, 2017
Language:
  • offered only in English
Notes:

- Limited to 20 spots; mandatory participants will be given priority; remaining spots will be allocated on a first-come, first-served basis via Moodle

- Takes place as a three-week in-person block course outside the lecture period

- Course content will be presented using an operating system of the instructor’s choice

- Knowledge of C is an advantage, but a brief introduction will be provided at the beginning of the course

Prerequisites for enrolling in the module:
- None

Prerequisites for taking the module exam(s):
- Successful completion of exercise sheets (50% of the points), successful completion of the project assignment

Module exam(s):
- CS3207-L1 Reverse Engineering Practicum, practicum, 100% of the (non-existent) module grade

According to the decision of the Computer Science Examination Board dated May 15, 2023, this module may be selected by students in the Bachelor of Computer Science SGO program starting in 2019 within Area 6: Elective Required Courses.

Letzte Änderung:
3.8.2026