Avast випустила декомпілятор RetDec із відкритим кодом


Дізнайтесь більше про нові кар'єрні можливості в EchoUA. Цікаві проекти, ринкова оплата, гарний колектив. Надсилайте резюме та приєднуйтеся до нас.

Компанія 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.

Джерело: блог Avast

Київ, Харків, Одеса, Дніпро, Запоріжжя, Кривий Ріг, Вінниця, Херсон, Черкаси, Житомир, Хмельницький, Чернівці, Рівне, Івано-Франківськ, Кременчук, Тернопіль, Луцьк, Ужгород, Кам'янець-Подільський, Стрий - за статистикою саме з цих міст програмісти найбільше переїжджають працювати до Львова. А Ви розглядаєте relocate?


Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *