Как сообщается в официальном блоге компании Avast, новый инструмент сейчас является единственным декомпилятором своего уровня с открытым кодом и лицензией MIT, использующим проверенную инфраструктуру LLVM.
Среди примечательных возможностей инструмента:
- Поддержка форматов файлов: ELF, PE, Mach-O, COFF, AR (архив), Intel HEX и исходного машинного кода;
- Поддержка архитектур (только 32-битных): Intel x86, ARM, MIPS, PIC32 и PowerPC;
- Статический анализ исполняемых файлов с подробной информацией;
- Определение компилятора и упаковщика;
- Загрузка и расшифровка команд;
- Основанное на подписи удаление статически связанного библиотечного кода;
- Извлечение и использование информации отладки (DWARF, PDB);
- Реконструкция идиом инструкций;
- Обнаружение и восстановление иерархии классов C++ (RTTI, vtables);
- Декодирование символов из двоичных файлов C++ (GCC, MSVC, Borland);
- Реконструкция функций, типов и конструкций высокого уровня;
- Интегрированный дизассемблер;
- Вывод на двух языках высокого уровня: C и Python-подобный язык;
- Генерация графиков вызовов, графиков контроля потоков и различных статистических данных;
- Плагин для IDA, который позволяет декомпилировать файлы непосредственно из дизассемблера IDA.
Сейчас RetDec поддерживает две операционные системы: LInux и Microsoft Windows. Исходный код декомпилятора и других связанных с ним инструментов доступны на GitHub.