
RetDec est un décompilateur de code machine reconfigurable basé sur LLVM.
Avertissement
Le projet RetDec est actuellement en mode maintenance limité en raison d'un manque de ressources :
- Les Pull Requests sont les bienvenues. Elles sont examinées en priorité, si possible sans délais.
- Les issues reçoivent une réponse avec des délais pouvant aller jusqu'à un trimestre. Les issues ne sont pas activement résolues sauf si elles concernent la maintenance de base du projet.
- La maintenance de base du projet se poursuit.
- Seul un développement très limité est effectué.
RetDec est un désassembleur de code machine reconfigurable basé sur LLVM.
Le désassembleur n'est pas limité à une architecture cible, un système d'exploitation ou un format de fichier exécutable particulier :
Fonctionnalités :
Pour plus d'informations, consultez :
Il existe deux façons d'obtenir et d'installer RetDec :
retdec/share/retdec/README.md après décompression.Nous supportons actuellement Windows (7 ou ultérieur), Linux, macOS et (expérimentalement) FreeBSD. Une version installée de RetDec nécessite environ 5 à 6 Go d'espace disque libre.
Assurez-vous de lire les instructions correspondant à la version de RetDec utilisée. En cas de doute, reportez-vous au fichier retdec/share/retdec/README.md dans l'installation.
Après installation de RetDec, installez Microsoft Visual C++ Redistributable for Visual Studio 2017.
Installez les programmes suivants :
Pour décompiler un fichier binaire nommé test.exe, exécutez
$RETDEC_INSTALL_DIR\bin\retdec-decompiler.exe test.exe
Pour plus d'informations, exécutez retdec-decompiler.exe avec --help.
Après installation de RetDec, installez les paquets suivants via le gestionnaire de paquets de votre distribution :
Pour décompiler un fichier binaire nommé test.exe, exécutez
$RETDEC_INSTALL_DIR/bin/retdec-decompiler test.exe
Pour plus d'informations, exécutez retdec-decompiler avec --help.
Après installation de RetDec, installez les paquets suivants :
Pour décompiler un fichier binaire nommé test.exe, exécutez
$RETDEC_INSTALL_DIR/bin/retdec-decompiler test.exe
Pour plus d'informations, exécutez retdec-decompiler avec --help.
Il n'existe actuellement aucun paquet ports pré-construit pour FreeBSD. Vous devrez construire et installer le désassembleur vous-même. Le processus est décrit ci-dessous.
Pour décompiler un fichier binaire nommé test.exe, exécutez
$RETDEC_INSTALL_DIR/bin/retdec-decompiler test.exe
Pour plus d'informations, exécutez retdec-decompiler avec --help.
Vous pouvez facilement utiliser diverses bibliothèques RetDec dans vos projets - s'ils sont construits avec CMake. L'installation de RetDec contient tous les en-têtes, bibliothèques et scripts CMake nécessaires.
Si vous avez installé RetDec dans un emplacement d'installation standard de votre système (par exemple /usr, /usr/local), tout ce que vous devez faire pour utiliser ses composants est :```cmake
find_package(retdec 5.0 REQUIRED
COMPONENTS
[...]
)
target_link_libraries(your-project
PUBLIC
retdec::
[...]
)
Si vous n'avez pas installé RetDec à un endroit où il peut être automatiquement découvert, vous devez aider CMake à le trouver avant que `find_package()` ne soit utilisé. Il existe généralement deux façons de procéder (choisissez-en une seule) :
1. Ajoutez le répertoire d'installation de RetDec à [`CMAKE_PREFIX_PATH`](https://cmake.org/cmake/help/latest/variable/CMAKE_PREFIX_PATH.html) :
```cmake
list(APPEND CMAKE_PREFIX_PATH ${RETDEC_INSTALL_DIR})
```
2. Définissez le chemin vers les scripts CMake installés de RetDec dans `retdec_DIR` :
```cmake
set(retdec_DIR ${RETDEC_INSTALL_DIR}/share/retdec/cmake)
```
Consultez la page wiki [Repository Overview](https://github.com/avast/retdec/wiki/Repository-Overview) pour la liste des composants RetDec disponibles, ou [retdec-build-system-tests](https://github.com/avast/retdec-build-system-tests) pour des démonstrations sur la façon de les utiliser.
## Compilation et installation
Cette section décrit une compilation et installation locale de RetDec. Les instructions pour Docker sont données dans la section suivante.
### Prérequis
#### Linux