Wydanie frameworka do inżynierii wstecznej Rizin 0.4.0 i GUI Cutter 2.1.0

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.

Wydanie frameworka do inżynierii wstecznej Rizin 0.4.0 i GUI Cutter 2.1.0

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

Dodaj komentarz