Reverse Engineering
Objectives
Learning of the following aspects :
Compilation chain
Software reverse engineering techniques
Description
The objective of this course is to introduce students to the activities surrounding reverse engineering. First, the compilation chain is presented with the models used by compilers to generate the machine code. Secondly, strategies are presented to reverse this process in order to better understand some parts of the software code. Finally, countermeasures to reverse engineering are presented to make this activity more difficult.
At the end of this course, the student will be able to analyze precisely and describe globally the functioning of a program based only on the assembly code. They will be able to apply the knowledge acquired in the lessons related to the study of vulnerabilities to identify vulnerabilities in these programs. He/she will be able to justify the existence of vulnerabilities by implementing a proof of concept of the exploitation.