Nastąpiło wydanie frameworka do inżynierii wstecznej Rizin i powiązanej z nim powłoki graficznej Cutter. Projekt Rizin rozpoczął się jako rozwidlenie frameworku Radare2 i kontynuował jego rozwój, kładąc nacisk na wygodne API i skupiając się na analizie kodu bez kryminalistyki. Od czasu forku projekt przeszedł na zasadniczo inny mechanizm zapisywania sesji („projektów”) w postaci stanu opartego na serializacji. Ponadto baza kodu została znacząco przeprojektowana, aby była łatwiejsza w utrzymaniu. Kod projektu napisany jest w języku C i rozpowszechniany jest na licencji LGPLv3.
Powłoka graficzna Cuttera została napisana w C++ przy użyciu Qt i rozpowszechniana na licencji GPLv3. Cutter, podobnie jak sam Rizin, nastawiony jest na proces inżynierii wstecznej programów w kodzie maszynowym lub kodzie bajtowym (na przykład JVM lub PYC). Istnieją wtyczki dekompilacyjne dla Cutter/Rizin oparte na Ghidra, JSdec i RetDec.
W nowym wydaniu:
- Dodano obsługę tworzenia podpisów FLIRT, które można następnie załadować do IDA Pro;
- Pakiet zawiera bazę standardowych sygnatur dla popularnych bibliotek;
- Poprawione rozpoznawanie funkcji i linii plików wykonywalnych w Go dla x86/x64/PowerPC/MIPS/ARM/RISC-V;
- Zaimplementowano nowy pośredni język reprezentacji RzIL oparty na teorii rdzenia BAP (język podobny do SMT);
- Dodano możliwość automatycznego wykrywania adresu bazowego plików „surowych”;
- Zaimplementowano obsługę ładowania „migawek” pamięci opartych na formatach Windows PageDump/Minidump w trybie debugowania;
- Poprawiona praca ze zdalnymi debugerami opartymi na WinDbg/KD.
- W tej chwili obsługa architektur ARMv7/ARMv8, AVR, 6052, brainfuck została przeniesiona do nowego RzIL. Do następnej wersji planowane jest ukończenie tłumaczenia dla SuperH, PowerPC i częściowo x86.
Dodatkowo wydano także:
- rz-libyara – wtyczka do Rizin/Cutter obsługująca ładowanie i tworzenie podpisów w formacie Yara;
- rz-libdemangle – biblioteka dekodująca nazwy funkcji dla języków C++/ObjC/Rust/Swift/Java;
- rz-ghidra – wtyczka do dekompilacji Rizina/Cuttera (w oparciu o kod Ghidra C++);
- jsdec – wtyczka do Rizin/Cutter do dekompilacji oryginalnego opracowania;
- rz-retdec – wtyczka do dekompilacji Rizina/Cuttera (na bazie RetDec);
- rz-tracetest – narzędzie do krzyżowego sprawdzania poprawności tłumaczenia kodu maszynowego na RzIL poprzez porównanie ze śladem emulacji (w oparciu o QEMU, VICE).
Źródło: opennet.ru