Avast выпустила декомпилятор RetDec с открытым кодом
Новости
С помощью RetDec можно анализировать исходный код приложений и задачи, которые они выполняют.
10К открытий10К показов
Компания Avast открыла доступ к своему декомпилятору RetDec, тем самым сделав еще один вклад в борьбу с вредоносным ПО. Инструмент позволяет изучать исходный код и отслеживать действия приложений без их непосредственного запуска. Исходники декомпилятора и других связанных с ним инструментов теперь доступны на GitHub.
Возможности RetDec
- поддерживаемые форматы файлов: 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.
Как использовать декомпилятор?
Самый простой способ — загрузить исполняемый файл через официальный сайт и нажать кнопку декомпиляции. После того как декомпилятор отработает, программа представит результат:
Если установлен IDA-дизассемблер, можно использовать IDA-плагин, чтобы провести декомпиляцию в IDA.
Использование REST API — это еще один вариант, позволяющий создавать приложения, взаимодействующие с RetDec при помощи HTTP-запросов. Рекомендованный способ взаимодействия с компилятором через API — использование библиотеки retdec-python.
Наконец, поскольку исходный код декомпилятора доступен на GitHub, его можно установить и использовать на ПК. В настоящее время RetDec поддерживает операционные системы Linux и Windows.
Преимущества RetDec
Как правило, декомпиляторы не могут полностью восстановить исходный код из-за того, что во время процесса компиляции теряется много информации. Кроме того, авторы вредоносных программ часто используют различные методы обфускации и антидекомпиляции, чтобы затруднить декомпиляцию своего программного обеспечения.
Новый продукт Avast справляется с этими трудностями, используя большой набор поддерживаемых архитектур и форматов файлов. Также он использует собственные эвристики и алгоритмы для декодирования и восстановления приложений. По утверждению компании, RetDec является единственным декомпилятором своего уровня с открытым кодом и лицензией MIT, использующим проверенную инфраструктуру LLVM.
10К открытий10К показов