Description
La rétro-ingénierie de programme est l’activité qui consiste à comprendre le fonctionnement interne d’un programme sans avoir accès à son code source. Cela est particulièrement utile pour comprendre le fonctionnement d’un logiciel malveillant ou pour vérifier le niveau de sécurité proposé par un logiciel.
Ce cours donne les bases pour comprendre la structure interne d’un exécutable et utiliser les outils professionnels permettant de réaliser des analyses de programmes. Il, s'adresse aussi bien aux étudiants, qu'aux professionnels et à tout passionné de sécurité informatique.
Pour commencer, nous rappelons le processus de compilation ainsi que le format des fichiers exécutables.
Ensuite, nous analysonsle programme sans l’exécuter. C’est ce qu’on appelle une analyse statique. Nous utilisons des outils plébiscités par les professionnels de la cybersécurité.
Enfin, nous présentons la mise en place d’analyse dynamique des programmes pour enrichir les connaissances acquises lors d'analyse statique.