
RetDec ist ein umstellbarer Maschinencode-Dekompilierer basierend auf LLVM.
Warnung
Das RetDec-Projekt befindet sich derzeit aufgrund fehlender Ressourcen im eingeschränkten Wartungsmodus:
- Pull-Requests sind willkommen. Sie werden prioritär geprüft, wenn möglich ohne Verzögerungen.
- Auf Issues wird mit Verzögerungen von bis zu einem Quartal reagiert. Issues werden nicht aktiv gelöst, es sei denn, sie betreffen die grundlegende Projektwartung.
- Die grundlegende Projektwartung wird fortgesetzt.
- Es werden nur noch sehr begrenzte Weiterentwicklungen durchgeführt.
RetDec ist ein retargetierbarer Maschinencode-Dekompilierer basierend auf LLVM.
Der Dekompilierer ist nicht auf eine bestimmte Zielarchitektur, ein bestimmtes Betriebssystem oder ein bestimmtes ausführbares Dateiformat beschränkt:
Funktionen:
Für weitere Informationen besuchen Sie
Es gibt zwei Möglichkeiten, RetDec zu beziehen und zu installieren:
retdec/share/retdec/README.md.Wir unterstützen derzeit Windows (7 oder höher), Linux, macOS und (experimentell) FreeBSD. Eine installierte Version von RetDec benötigt etwa 5 bis 6 GB freien Speicherplatz.
Bitte stellen Sie sicher, dass Sie die Anweisungen lesen, die der verwendeten RetDec-Version entsprechen. Wenn Sie unsicher sind, lesen Sie die Datei retdec/share/retdec/README.md in der Installation.
Nach der Installation von RetDec installieren Sie Microsoft Visual C++ Redistributable for Visual Studio 2017.
Installieren Sie die folgenden Programme:
Um eine Binärdatei namens test.exe zu dekompilieren, führen Sie Folgendes aus:
$RETDEC_INSTALL_DIR\bin\retdec-decompiler.exe test.exe
Für weitere Informationen führen Sie retdec-decompiler.exe mit --help aus.
Nach der Installation von RetDec installieren Sie die folgenden Pakete über den Paketmanager Ihrer Distribution:
Um eine Binärdatei namens test.exe zu dekompilieren, führen Sie Folgendes aus:
$RETDEC_INSTALL_DIR/bin/retdec-decompiler test.exe
Für weitere Informationen führen Sie retdec-decompiler mit --help aus.
Nach der Installation von RetDec installieren Sie die folgenden Pakete:
Um eine Binärdatei namens test.exe zu dekompilieren, führen Sie Folgendes aus:
$RETDEC_INSTALL_DIR/bin/retdec-decompiler test.exe
Für weitere Informationen führen Sie retdec-decompiler mit --help aus.
Derzeit gibt es keine vorgefertigten "Ports"-Pakete für FreeBSD. Sie müssen den Dekompilierer selbst erstellen und installieren. Der Prozess wird unten beschrieben.
Um eine Binärdatei namens test.exe zu dekompilieren, führen Sie Folgendes aus:
$RETDEC_INSTALL_DIR/bin/retdec-decompiler test.exe
Für weitere Informationen führen Sie retdec-decompiler mit --help aus.
Sie können problemlos verschiedene RetDec-Bibliotheken in Ihren Projekten verwenden – sofern diese mit CMake erstellt werden. Die RetDec-Installation enthält alle erforderlichen Header, Bibliotheken und CMake-Skripte.
Wenn Sie RetDec an einem Standard-Installationsort Ihres Systems installiert haben (z. B. /usr, /usr/local), müssen Sie lediglich Folgendes tun, um seine Komponenten zu verwenden:```cmake
find_package(retdec 5.0 REQUIRED
COMPONENTS
[...]
)
target_link_libraries(your-project
PUBLIC
retdec::
[...]
)
Wenn Sie RetDec nicht an einem Ort installiert haben, an dem es automatisch erkannt werden kann, müssen Sie CMake helfen, es zu finden, bevor `find_package()` verwendet wird. Es gibt im Allgemeinen zwei Möglichkeiten (wählen und verwenden Sie nur eine):
1. Fügen Sie das RetDec-Installationsverzeichnis zu [`CMAKE_PREFIX_PATH`](https://cmake.org/cmake/help/latest/variable/CMAKE_PREFIX_PATH.html) hinzu:
```cmake
list(APPEND CMAKE_PREFIX_PATH ${RETDEC_INSTALL_DIR})
```
2. Setzen Sie den Pfad zu den installierten RetDec CMake-Skripten auf `retdec_DIR`:
```cmake
set(retdec_DIR ${RETDEC_INSTALL_DIR}/share/retdec/cmake)
```
Siehe die Wiki-Seite [Repository Overview](https://github.com/avast/retdec/wiki/Repository-Overview) für die Liste der verfügbaren RetDec-Komponenten oder [retdec-build-system-tests](https://github.com/avast/retdec-build-system-tests) für Demos zur Verwendung.
## Build und Installation
Dieser Abschnitt beschreibt einen lokalen Build und die Installation von RetDec. Anweisungen für Docker werden im nächsten Abschnitt gegeben.
### Anforderungen
#### Linux