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).
>>> Подробности