Modul CS3207-KP04

Reverse Engineering Lab (RevEngPr)


1 Semester
Turnus of offer:

every summer semester
Credit points:

Course of studies, specific field and terms:
  • Bachelor IT-Security 2016 (optional subject), IT-Security, Arbitrary semester
  • Bachelor Computer Science 2019 (optional subject), Extended optional subjects, Arbitrary semester
Classes and lectures:
  • Lab Reverse Engineering (practical course as compact course, 3 SWS)
  • 40 Hours in-classroom work
  • 80 Hours private studies and exercises
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
  • 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:
  • Dr. Ralf Zimmermann
  • 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
  • offered only in German

- Limited to 60 places; compulsory participants will be given priority; allocation of further places according to registration order in Moodle.

- Content will be presented using an operating system of the instructor's choice

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

Admission requirements for taking the module:
- None

Entry requirements for taking module examination(s):
- Successful completion of exercise slips as specified at the beginning of the semester, successful completion of a project assignment.

Module Exam(s):
- CS3207-L1 Practical Reverse Engineering, practical course, 100% of the (non-existent) module grade.

Letzte Änderung: