Релиз фреймворка для реверс-инжиниринга Rizin 0.4.0 и GUI Cutter 2.1.0

Состоялся релиз фреймворка для реверс-инжиниринга Rizin и связанной с ним графической оболочки Cutter. Проект Rizin начался как форк фреймворка Radare2 и продолжил его развитие с уклоном на удобный API и фокусом на анализ кода без форензики. С момента форка проект перешел на принципиально отличный механизм сохранения сессии («проектов») в виде состояния на базе сериализации. Кроме того, кодовая база значительно переработана в сторону удобства сопровождения. Код проекта написан на языке Си и распространяется под лицензией LGPLv3.

Графическая оболочка Cutter написана C++ с использованием Qt и распространяется под лицензией GPLv3. Cutter, как и сам Rizin, нацелен на процесс обратной разработки программ в машинном коде или байткоде (например JVM или PYC). Для Cutter/Rizin существуют плагины декомпиляции на основе Ghidra, JSdec и RetDec.

CFD0C5CECEC5D4_1656513381.png

В новом выпуске:

  • Добавлена поддержка создания сигнатур FLIRT, которые потом могут быть загружены в IDA Pro;
  • В поставку включена база стандартных сигнатур для популярных библиотек;
  • Улучшено распознавание функций и строк исполняемых файлов на Go для x86/x64/PowerPC/MIPS/ARM/RISC-V;
  • Реализован новый язык промежуточного представления RzIL на базе BAP Core Theory (SMT-подобный язык);
  • Добавлена возможность авто-определения базового адреса для «сырых» файлов;
  • Реализована поддержка загрузки в отладочном режиме «слепков» памяти на базе Windows PageDump/Minidump форматов;
  • Улучшена работа с удаленными отладчиками на базе WinDbg/KD.
  • На данный момент на новый RzIL переведена поддержка архитектур ARMv7/ARMv8, AVR, 6052, brainfuck. К следующему релизу планируется завершить перевод для SuperH, PowerPC и частично x86.

Также дополнительно выпущены:

  • rz-libyara — плагин для Rizin/Cutter для поддержки загрузки и создания сигнатур в формате Yara;
  • rz-libdemangle — библиотека расшифровки имён функций для языков C++/ObjC/Rust/Swift/Java;
  • rz-ghidra — плагин для Rizin/Cutter для декомпиляции (на базе C++ кода Ghidra);
  • jsdec — плагин для Rizin/Cutter для декомпиляции оригинальной разработки;
  • rz-retdec — плагин для Rizin/Cutter для декомпиляции (на базе RetDec);
  • rz-tracetest — утилита перекрёстной проверки корректности трансляции машинного кода в RzIL путём сравнения с трассой эмуляции (на базе QEMU, VICE).



Источник: http://www.opennet.ru/opennews/art.shtml? num=57425

© OpenNet