Skip to content
KitploitKITPLOIT
ИнструментыБлог
Log in
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

ЛентыКонтактыКонфиденциальность© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
retdec — RetDec — это перенацеливаемый декомпилятор машинного кода на основе LLVM. | Kitploit
Инструменты/GitHubGitHub/avast/retdec
Статический анализОбратная инженерияАнализ вредоносных программАнализ Бинарных Файлов
GitHubavast/retdec

retdec

RetDec — это перенацеливаемый декомпилятор машинного кода на основе LLVM.

Репозиторий
8.6k997544 месяцев назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Сайт
Поделиться

Предупреждение

Проект RetDec в настоящее время находится в режиме ограниченного обслуживания из-за нехватки ресурсов:

  • Pull Request-ы приветствуются. Они рассматриваются в приоритетном порядке, если это возможно без задержек.
  • На Issues реагируют с задержками до одного квартала. Issues активно не решаются, если только они не связаны с базовым обслуживанием проекта.
  • Базовое обслуживание проекта продолжается.
  • Ведется только очень ограниченная разработка.

RetDec

Travis CI build status TeamCity build status))/statusIcon) RetDec CI

RetDec — это перенацеливаемый декомпилятор машинного кода на основе LLVM.

Декомпилятор не ограничен какой-либо конкретной целевой архитектурой, операционной системой или форматом исполняемых файлов:

  • Поддерживаемые форматы файлов: ELF, PE, Mach-O, COFF, AR (архив), Intel HEX и сырой машинный код.
  • Поддерживаемые архитектуры:
    • 32-битные: Intel x86, ARM, MIPS, PIC32 и PowerPC
    • 64-битные: x86-64, ARM64 (AArch64)

Возможности:

  • Статический анализ исполняемых файлов с подробной информацией.
  • Определение компилятора и упаковщика.
  • Загрузка и декодирование инструкций.
  • Удаление статически связанного библиотечного кода на основе сигнатур.
  • Извлечение и использование отладочной информации (DWARF, PDB).
  • Восстановление идиом инструкций.
  • Обнаружение и восстановление иерархий классов C++ (RTTI, виртуальные таблицы).
  • Деманлинг символов из бинарных файлов C++ (GCC, MSVC, Borland).
  • Восстановление функций, типов и высокоуровневых конструкций.
  • Встроенный дизассемблер.
  • Вывод на двух высокоуровневых языках: C и языке, похожем на Python.
  • Генерация графов вызовов, графов потока управления и различной статистики.

Для получения дополнительной информации ознакомьтесь с нашими:

  • Wiki (в разработке)
  • Доклад на Botconf 2017: слайды, видео
  • Доклад на REcon Montreal 2018: слайды
  • Публикации

Установка

Существует два способа получения и установки RetDec:

  1. Загрузите и распакуйте предварительно собранный стабильный или последний пакет и следуйте инструкциям в разделе Использование файла retdec/share/retdec/README.md после распаковки.
  2. Соберите RetDec самостоятельно из исходников, следуя разделу Сборка и установка. После установки следуйте инструкциям ниже.

В настоящее время мы поддерживаем Windows (7 или новее), Linux, macOS и (экспериментально) FreeBSD. Установленная версия RetDec требует примерно от 5 до 6 ГБ свободного дискового пространства.

Использование

Пожалуйста, убедитесь, что вы читаете инструкции, соответствующие используемой версии RetDec. Если сомневаетесь, обратитесь к файлу retdec/share/retdec/README.md в установке.

Windows

  1. После установки RetDec установите Microsoft Visual C++ Redistributable для Visual Studio 2017.

  2. Установите следующие программы:

    • UPX (Необязательно: если вы хотите использовать распаковщик UPX на этапе предварительной обработки)
    • Graphviz (Необязательно: если вы хотите генерировать графы вызовов или потоков управления)
  3. Для декомпиляции бинарного файла с именем test.exe выполните:

    $RETDEC_INSTALL_DIR\bin\retdec-decompiler.exe test.exe
    

    Для получения дополнительной информации запустите retdec-decompiler.exe с ключом --help.

Linux

  1. После установки RetDec установите следующие пакеты через менеджер пакетов вашего дистрибутива:

    • UPX (Необязательно: если вы хотите использовать распаковщик UPX на этапе предварительной обработки)
    • Graphviz (Необязательно: если вы хотите генерировать графы вызовов или потоков управления)
  2. Для декомпиляции бинарного файла с именем test.exe выполните:

    $RETDEC_INSTALL_DIR/bin/retdec-decompiler test.exe
    

    Для получения дополнительной информации запустите retdec-decompiler с ключом --help.

macOS

  1. После установки RetDec установите следующие пакеты:

    • UPX (Необязательно: если вы хотите использовать распаковщик UPX на этапе предварительной обработки)
    • Graphviz (Необязательно: если вы хотите генерировать графы вызовов или потоков управления)
  2. Для декомпиляции бинарного файла с именем test.exe выполните:

    $RETDEC_INSTALL_DIR/bin/retdec-decompiler test.exe
    

    Для получения дополнительной информации запустите retdec-decompiler с ключом --help.

FreeBSD (Экспериментальная)

  1. В настоящее время нет предварительно собранных пакетов "ports" для FreeBSD. Вам придется собрать и установить декомпилятор самостоятельно. Процесс описан ниже.

  2. Для декомпиляции бинарного файла с именем test.exe выполните:

    $RETDEC_INSTALL_DIR/bin/retdec-decompiler test.exe
    

    Для получения дополнительной информации запустите retdec-decompiler с ключом --help.

Использование библиотек RetDec

Вы можете легко использовать различные библиотеки 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
Скачать инструмент