
Cours de reverse engineering logiciel
Maîtrisez l'ensemble du flux de travail du rétro-ingénierie — de la lecture du langage assembleur brut à la défaite de l'obfuscation et à la découverte de vulnérabilités réelles. Ce cours vous donne la profondeur technique nécessaire pour analyser n'importe quel binaire compilé sur Windows, Linux ou macOS. Que vous cibliez des logiciels malveillants, des firmwares ou des logiciels propriétaires, vous repartirez avec des compétences que l'industrie exige réellement.
Ce que vous allez apprendre:
Vous bâtirez des bases solides en assembleur x86 et x86-64, en formats de fichiers binaires et en architecture CPU avant de passer à l'analyse statique et dynamique pratique. Vous utiliserez des désassembleurs, débogueurs et décompilateurs standard de l'industrie pour rétro-concevoir de véritables binaires et reconstituer la logique du programme de haut niveau. Le cours couvre les techniques d'obfuscation, l'analyse de packers et les contournements anti-débogage, afin que les cibles durcies ne vous arrêtent pas. Vous appliquerez également le rétro-ingénierie directement à la recherche de vulnérabilités, en identifiant les bugs de corruption mémoire, les défauts d'authentification et la cryptographie faible. Les modules avancés introduisent l'exécution symbolique, le diffing binaire, l'instrumentation dynamique et les workflows d'automatisation pour une analyse à grande échelle.
Comment vous étudiez de façon pratique Cours de reverse engineering logiciel
Comment vous pratiquez Cours de reverse engineering logiciel
Pour vous, entreprise, qui souhaitez former votre équipe
Avec Dedika pour les entreprises, le cours inclut des exercices et des exemples adaptés à votre activité et aux besoins spécifiques de votre entreprise.
Contenu du cours
8 Chapitres • 40 LeçonsDurée entre 4 et 360 heures (vous décidez)
Chapitre 1MasquerCacher les détailsVoir les détailsFondamentaux du rétro-ingénierie
Fondamentaux du rétro-ingénierie
Leçon 1 • Configuration du laboratoire de RE
Guide les étudiants dans la construction d'un environnement d'analyse isolé avec des machines virtuelles et les outils essentiels. Assure un espace de travail sûr et reproductible pour tous les exercices.
Leçon 2 • Limites juridiques et éthiques
Couvre les exigences d'autorisation, les normes de divulgation responsable et la conduite éthique. Forme les étudiants aux normes professionnelles avant le début des travaux pratiques.
Leçon 3 • Qu'est-ce que le rétro-ingénierie
Définit le rétro-ingénierie, ses objectifs et son rôle dans la recherche en sécurité et l'analyse logicielle. Établit le vocabulaire utilisé tout au long du cours.
Leçon 4 • Notions essentielles d'architecture informatique
Passe en revue les registres du CPU, la disposition de la mémoire et le cycle de fetch-décodage-exécution. Fournit le modèle mental du matériel nécessaire pour interpréter le code désassemblé.
Leçon 5 • Aperçu des formats de fichiers binaires
Présente les structures PE, ELF et Mach-O et la manière dont les chargeurs les mappent en mémoire. Relie la connaissance des formats de fichiers aux tâches ultérieures de désassemblage et de correction.
Chapitre 2MasquerCacher les détailsVoir les détailsLangage assembleur pour ingénieurs en rétro-ingénierie
Langage assembleur pour ingénieurs en rétro-ingénierie
Leçon 1 • Différences et extensions x86-64
Met en lumière l'extension des registres, l'adressage relatif à RIP et les bases des instructions SIMD en mode 64 bits. Prépare les étudiants aux binaires 64 bits modernes rencontrés dans la pratique.
Leçon 2 • Fondamentaux du jeu d'instructions x86
Couvre les instructions de mouvement de données, arithmétiques et logiques avec des exemples annotés. Forme le vocabulaire de lecture nécessaire pour tout travail de désassemblage à venir.
Leçon 3 • La pile et les conventions d'appel
Détaille comment les fonctions passent les arguments, préservent les registres et renvoient des valeurs selon les principales conventions d'appel. Essentiel pour comprendre correctement la sortie décompilée.
Leçon 4 • Instructions de flux de contrôle
Explique les sauts conditionnels et inconditionnels, les boucles et les mécanismes CALL/RET. Les étudiants apprennent à reconstruire la logique d'un programme à partir de séquences d'instructions brutes.
Leçon 5 • Reconnaissance de constructions haut niveau
Mappe les motifs assembleur aux constructions de niveau C telles que if-else, les boucles et les structures. Accélère l'analyse en permettant aux étudiants de lire l'intention plutôt que les opcodes bruts.
Chapitre 3MasquerCacher les détailsVoir les détailsTechniques d'analyse statique
Techniques d'analyse statique
Leçon 1 • Annotation et renommage des symboles
Couvre le renommage systématique des fonctions, variables et structures de données pour construire un modèle lisible. Améliore directement la vitesse d'analyse et réduit la charge cognitive.
Leçon 2 • Navigation dans les graphes de code
Enseigne l'utilisation des graphes de flux de contrôle, des graphes d'appels et des références croisées pour orienter l'analyse. Permet une navigation efficace dans des bases de code volumineuses et inconnues.
Leçon 3 • Analyse des chaînes et des importations
Extrait les chaînes significatives, les API importées et les signatures de bibliothèques pour déduire le comportement du programme. Fournit un triage rapide avant une analyse approfondie du code.
Leçon 4 • Script des tâches d'analyse statique
Introduit l'automatisation des tâches statiques répétitives à l'aide des API de script du désassembleur. Les étudiants écrivent des scripts qui renomment, annotent et extraient des données à grande échelle.
Leçon 5 • Les désassembleurs et leur fonctionnement interne
Compare les algorithmes de désassemblage par balayage linéaire et par descente récursive ainsi que leurs compromis. Les étudiants choisissent le mode d'outil approprié pour chaque scénario d'analyse.
Chapitre 4MasquerCacher les détailsVoir les détailsAnalyse dynamique et débogage
Analyse dynamique et débogage
Leçon 1 • Détection et contournement de l'anti-débogage
Identifie les astuces anti-débogage courantes et démontre des méthodes de contournement fiables. Prépare les étudiants aux cibles durcies rencontrées dans l'analyse réelle.
Leçon 2 • Traçage et journalisation de l'exécution
Utilise le traçage au niveau des instructions et la journalisation des API pour capturer l'historique complet de l'exécution. Complète l'analyse par points d'arrêt pour les cibles non déterministes ou multi-threadées.
Leçon 3 • Architecture et concepts du débogueur
Explique comment les débogueurs s'attachent aux processus, gèrent les exceptions et contrôlent l'exécution. Fournit le modèle conceptuel nécessaire pour utiliser efficacement n'importe quel débogueur.
Leçon 4 • Inspection de l'état du programme
Enseigne la lecture des registres, de la mémoire et de la pile d'appels à l'exécution pour vérifier les résultats statiques. Les étudiants corrèlent l'état en direct avec le désassemblage pour confirmer le comportement du code.
Leçon 5 • Stratégies de points d'arrêt
Couvre les points d'arrêt conditionnels, matériels et d'accès mémoire pour une analyse ciblée. Un placement efficace des points d'arrêt réduit le temps nécessaire pour comprendre des cibles complexes.
Chapitre 5MasquerCacher les détailsVoir les détailsDécompilation et récupération de code
Décompilation et récupération de code
Leçon 1 • Gestion des optimisations du compilateur
Identifie les artefacts d'inlinage, de déroulage de boucle et de réduction de puissance dans la sortie décompilée. Les étudiants apprennent à annuler mentalement les optimisations pour retrouver la logique d'origine.
Leçon 2 • Récupération des structures de données
Reconstruit les structures, les unions et les dispositions de classes à partir des motifs d'accès dans le code décompilé. Une récupération précise des structures est essentielle pour comprendre les cibles orientées objet.
Leçon 3 • Décompilation de code orienté objet
Aborde le name mangling C++, la dispatch virtuelle et le RTTI pour reconstituer les hiérarchies de classes. Étend les compétences de décompilation à la majorité des logiciels compilés modernes.
Leçon 4 • Comment fonctionnent les décompilateurs
Explique le levage vers une représentation intermédiaire, la récupération de type et la génération de pseudo-code. Définit des attentes réalistes quant à la qualité et aux limites de la sortie du décompilateur.
Leçon 5 • Travail avec la sortie du décompilateur
Enseigne la lecture, la correction et l'annotation du pseudo-code du décompilateur pour produire des modèles précis. Les étudiants réconcilient les erreurs du décompilateur avec la vérité de base du désassemblage.
Chapitre 6MasquerCacher les détailsVoir les détailsTechniques d'obfuscation et d'anti-analyse
Techniques d'obfuscation et d'anti-analyse
Leçon 1 • Obfuscation basée sur la virtualisation
Introduit les protecteurs par machine virtuelle personnalisés, les boucles de dispatch de bytecode et l'identification des handlers. Les étudiants développent une méthodologie pour inverser partiellement le code protégé par VM.
Leçon 2 • Obfuscation des chaînes et des données
Couvre l'encodage XOR, la construction de chaînes sur la pile et les routines de déchiffrement personnalisées. Les étudiants extraient les chaînes en clair d'échantillons obfusqués de manière automatique et manuelle.
Leçon 3 • Approches de désobfuscation automatisée
Applique l'exécution symbolique et l'analyse de taint pour automatiser la désobfuscation à grande échelle. Fait le pont entre les techniques manuelles et les workflows assistés par outils pour les cibles complexes.
Leçon 4 • Taxonomie de l'obfuscation de code
Catalogue l'insertion de code indésirable, les prédicats opaques, l'aplatissement du flux de contrôle et la substitution. Fournit aux étudiants un cadre de classification pour identifier l'obfuscation à vue.
Leçon 5 • Packeurs et protecteurs
Explique les stubs de dépaquetage à l'exécution, la reconstruction des importations et les workflows de vidage mémoire. Les étudiants récupèrent l'exécutable d'origine à partir d'échantillons packés ou protégés.
Chapitre 7MasquerCacher les détailsVoir les détailsDécouverte de vulnérabilités par le RE
Découverte de vulnérabilités par le RE
Leçon 1 • Intégration du fuzzing avec les résultats du RE
Utilise les connaissances issues du RE pour construire des harnais de fuzzing ciblés et des corpus de départ. Combine la perspicacité statique avec le fuzzing dynamique pour maximiser la découverte de vulnérabilités.
Leçon 2 • Identification des faiblesses cryptographiques
Reconnaît les algorithmes faibles, la gestion incorrecte des clés et la crypto personnalisée par analyse statique. Les étudiants évaluent la sécurité cryptographique sans accès au code source.
Leçon 3 • Défauts de logique et d'authentification
Localise les contournements d'authentification, les transitions d'état incorrectes et les conditions de course par revue de code. Démontre que les erreurs de logique sont aussi dangereuses que les bugs mémoire.
Leçon 4 • Documentation et rapport des vulnérabilités
Structure les rapports de vulnérabilité avec les étapes de reproduction, l'analyse de cause racine et les évaluations d'impact. Produit des livrables professionnels adaptés à une divulgation responsable.
Leçon 5 • Motifs de vulnérabilités de corruption mémoire
Identifie les dépassements de tampon, les use-after-free et les motifs de dépassement d'entier dans le désassemblage. Relie les motifs de code bas niveau à leur impact sur la sécurité.
Chapitre 8MasquerCacher les détailsVoir les détailsWorkflows avancés de RE et automatisation
Workflows avancés de RE et automatisation
Leçon 1 • Conception d'une méthodologie de RE structurée
Établit un workflow reproductible de triage à l'analyse approfondie pour les binaires inconnus. Réduit les efforts inutiles et garantit une couverture cohérente sur de grandes cibles.
Leçon 2 • Exécution symbolique et concolique
Applique la résolution de contraintes pour explorer les chemins d'exécution et générer automatiquement des entrées ciblées. Étend l'analyse manuelle aux problèmes de couverture de chemins trop importants pour une revue manuelle.
Leçon 3 • Différenciation binaire et analyse de correctifs
Compare les versions binaires pour isoler les fonctions corrigées et déduire les vulnérabilités corrigées. Essentiel pour l'analyse des écarts de correctifs et les tests de sécurité par régression.
Leçon 4 • Frameworks d'instrumentation dynamique
Utilise l'instrumentation binaire dynamique pour insérer de la logique d'analyse à l'exécution sans code source. Permet la mesure de couverture, le traçage de taint et le traçage personnalisé à grande échelle.
Leçon 5 • Construction d'outils de RE réutilisables
Conçoit des scripts, des plugins et des pipelines modulaires qui persistent au-delà d'une seule mission. Les étudiants produisent des outils partageables qui accélèrent les futurs travaux d'analyse.
Votre certificat valide de réussite
Ce cours est fait pour vous :
Testeur d'intrusion : souhaite dépasser les scanners automatisés pour travailler au niveau binaire.
Diplômé en informatique : prêt à faire le pont entre les connaissances académiques et la pratique réelle de la sécurité.
Analyste de malwares : a besoin d'une méthodologie structurée pour analyser des échantillons inconnus avec confiance.
Compétiteur de CTF : sérieusement intéressé par la résolution de défis de rétro-ingénierie à des niveaux de difficulté élevés.
Développeur de systèmes embarqués : curieux de connaître la posture de sécurité de son propre firmware compilé.
Personne en reconversion professionnelle : passe du support informatique à la sécurité offensive ou à la recherche de vulnérabilités.
Ce que disent nos apprenants
Vos cours sont parfaits. J'ai acheté le forfait d'un an et j'ai enfin l'opportunité de suivre divers sujets qui m'intéressent sans avoir besoin de changer de plateforme... je vous remercie pour tout ce que vous faites, je vous ai déjà recommandés à d'autres personnes...

J'aime la façon dont les leçons vont droit au but et comment je peux changer de chapitres et passer le contenu dont je n'ai pas besoin.

J'aime le contenu et la façon dont les vidéos sont présentées et transcrites, ce qui accélère le processus !

La plateforme est rapide, simple à utiliser. La diversité du contenu et les vidéos complémentaires aident beaucoup dans l'apprentissage.

Formations principales
FAQ
Qui est Dedika ?
Le certificat est-il valable en France ?
Les cours sont-ils gratuits ?
Quelle est la charge de travail des cours ?
Comment sont les cours ?
Comment fonctionnent les cours ?
Quelle est la durée des cours ?
Quel est le coût ou le prix des cours ?
Qu'est-ce qu'un cours EAD ou en ligne et comment ça marche ?
Cours PDF




















