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

good-penguin.png

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

Cutter — графическая оболочка для Rizin, написанная на Qt/C++. Cutter, как и сам Rizin, нацелен на процесс обратной разработки программ в машинном коде или байткоде (например JVM или PYC).

Для Cutter/Rizin существуют плагины декомпиляции на основе Ghidra (только С++ код, без Java), JSdec, RetDec.

В этом релизе:

  • добавлена поддержка создания сигнатур 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).

>>> Подробности

©  Linux.org.ru