
RetDec — это перенацеливаемый декомпилятор машинного кода на основе LLVM.
Предупреждение
Проект RetDec в настоящее время находится в режиме ограниченного обслуживания из-за нехватки ресурсов:
- Pull Request-ы приветствуются. Они рассматриваются в приоритетном порядке, если это возможно без задержек.
- На Issues реагируют с задержками до одного квартала. Issues активно не решаются, если только они не связаны с базовым обслуживанием проекта.
- Базовое обслуживание проекта продолжается.
- Ведется только очень ограниченная разработка.
RetDec — это перенацеливаемый декомпилятор машинного кода на основе LLVM.
Декомпилятор не ограничен какой-либо конкретной целевой архитектурой, операционной системой или форматом исполняемых файлов:
Возможности:
Для получения дополнительной информации ознакомьтесь с нашими:
Существует два способа получения и установки RetDec:
retdec/share/retdec/README.md после распаковки.В настоящее время мы поддерживаем Windows (7 или новее), Linux, macOS и (экспериментально) FreeBSD. Установленная версия RetDec требует примерно от 5 до 6 ГБ свободного дискового пространства.
Пожалуйста, убедитесь, что вы читаете инструкции, соответствующие используемой версии RetDec. Если сомневаетесь, обратитесь к файлу retdec/share/retdec/README.md в установке.
После установки RetDec установите Microsoft Visual C++ Redistributable для Visual Studio 2017.
Установите следующие программы:
Для декомпиляции бинарного файла с именем test.exe выполните:
$RETDEC_INSTALL_DIR\bin\retdec-decompiler.exe test.exe
Для получения дополнительной информации запустите retdec-decompiler.exe с ключом --help.
После установки RetDec установите следующие пакеты через менеджер пакетов вашего дистрибутива:
Для декомпиляции бинарного файла с именем test.exe выполните:
$RETDEC_INSTALL_DIR/bin/retdec-decompiler test.exe
Для получения дополнительной информации запустите retdec-decompiler с ключом --help.
После установки RetDec установите следующие пакеты:
Для декомпиляции бинарного файла с именем test.exe выполните:
$RETDEC_INSTALL_DIR/bin/retdec-decompiler test.exe
Для получения дополнительной информации запустите retdec-decompiler с ключом --help.
В настоящее время нет предварительно собранных пакетов "ports" для FreeBSD. Вам придется собрать и установить декомпилятор самостоятельно. Процесс описан ниже.
Для декомпиляции бинарного файла с именем test.exe выполните:
$RETDEC_INSTALL_DIR/bin/retdec-decompiler test.exe
Для получения дополнительной информации запустите retdec-decompiler с ключом --help.
Вы можете легко использовать различные библиотеки RetDec в своих проектах — если они собираются с помощью CMake. Установка RetDec содержит все необходимые заголовочные файлы, библиотеки и сценарии CMake.
Если вы установили RetDec в стандартное место установки вашей системы (например, /usr, /usr/local), все, что вам нужно сделать для использования его компонентов:```cmake
find_package(retdec 5.0 REQUIRED
COMPONENTS
[...]
)
target_link_libraries(your-project
PUBLIC
retdec::
[...]
)
Если вы не установили RetDec в место, где он может быть автоматически обнаружен, вам нужно помочь CMake найти его перед использованием `find_package()`. Обычно есть два способа сделать это (выберите и используйте только один):
1. Добавьте каталог установки 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. Установите путь к установленным CMake-скриптам RetDec в `retdec_DIR`:
```cmake
set(retdec_DIR ${RETDEC_INSTALL_DIR}/share/retdec/cmake)
```
Смотрите страницу вики [Repository Overview](https://github.com/avast/retdec/wiki/Repository-Overview) для списка доступных компонентов RetDec, или [retdec-build-system-tests](https://github.com/avast/retdec-build-system-tests) для демонстраций по их использованию.
## Сборка и установка
В этом разделе описывается локальная сборка и установка RetDec. Инструкции для Docker приведены в следующем разделе.
### Требования
#### Linux