# Qu'est-ce que Software Reverse Engineering ?

Il s'agit du processus d'analyse inverse du code ou de la structure d'un logiciel existant afin de comprendre comment il fonctionne.

## Définition
C'est un travail de détective effectué lorsque vous n'avez qu'un programme fonctionnel entre les mains et que vous ne pouvez pas accéder à son code source. En analysant les fichiers binaires du programme, vous révélez sa logique, ses vulnérabilités de sécurité ou ses principes de fonctionnement.

## Comment ça marche
À l'aide d'outils d'analyse spécialisés (désassembleur/décompilateur), le code machine du logiciel est rendu lisible. Ensuite, des processus de raisonnement logique sont appliqués sur ce code.

## Où est-ce utilisé
Il est utilisé dans la recherche en sécurité, l'analyse de logiciels concurrents ou la modernisation d'anciens systèmes.

## Souvent confondu avec
Cela ne doit pas être confondu avec l'écriture de code ; ici, le but n'est pas de produire, mais de décoder ce qui existe déjà.

## Questions fréquentes
**Est-ce légal ?**
C'est généralement accepté pour la recherche en sécurité, mais il faut être prudent concernant les droits d'auteur et les contrats de licence.


## Termes liés
- [Vulnerability Scanning](/fr/dictionary/vulnerability-scanning/)
- [Binary](/fr/dictionary/binary/)
- [Security Scanner](/fr/dictionary/security-scanner/)

## Outils liés
- [Ghidra](/fr/discover/ghidra/)

---
Source : TreScout Glossaire · https://trescout.com/fr/dictionary/software-reverse-engineering/
