Reverse-engineering is a technique used to understand the functionality of existing software. Based on these insights, we can look for security issues, enhance existing software, or develop interoperability with other software systems.

In this course, we start with a two to three day training on reverse-engineering mobile applications on iOS and Android. During the training, each student will learn different techniques of reverse-engineering. We have prepared several exercises that deepen the understanding of these techniques.

Later, students can choose their own software to reverse engineer during the semester. The goal can be to find security vulnerabilities, to improve existing reverse engineering tools, or to make the software interoperable. Past topics have included: E-scooter apps, Snapchat, Apple HomeKit.

Throughout the semester, students are required to give several presentations on their progress.

Register in TuCaN