Die Veröffentlichung des Rizin Reverse Engineering Frameworks und der zugehörigen grafischen Benutzeroberfläche Cutter ist nun erfolgt. Das Rizin-Projekt begann als Fork des Radare2-Frameworks und hat die Entwicklung mit einem Fokus auf eine benutzerfreundliche API und die Analyse von Code ohne Forensik fortgesetzt. Seit dem Fork hat das Projekt einen grundlegend anderen Ansatz zur Sitzungsverwaltung („Projekte“) durch eine Zustandsspeicherung auf Basis von Serialisierung übernommen. Zudem wurde die Codebasis erheblich überarbeitet, um die Wartbarkeit zu verbessern. Der Projektcode ist in C geschrieben und wird unter der LGPLv3-Lizenz veröffentlicht.
Die grafische Benutzeroberfläche Cutter ist in C++ unter Verwendung von Qt geschrieben und wird unter der GPLv3-Lizenz veröffentlicht. Wie Rizin zielt auch Cutter auf den Prozess der Rückentwicklung von Software in Maschinencode oder Bytecode (z. B. JVM oder PYC) ab. Für Cutter/Rizin gibt es Dekompilierungs-Plugins basierend auf Ghidra, JSdec und RetDec.

In der neuen Version:
- Unterstützung für die Erstellung von FLIRT-Signaturen wurde hinzugefügt, die anschließend in IDA Pro geladen werden können;
- Das Standard-Signaturenpaket für gängige Bibliotheken wurde mitgeliefert;
- Die Erkennung von Funktionen und Strings in ausführbaren Dateien für Go wurde verbessert, und zwar für x86/x64/PowerPC/MIPS/ARM/RISC-V;
- Eine neue Intermediate-Representation-Sprache RzIL wurde auf Basis der BAP Core Theory realisiert (eine SMT-ähnliche Sprache);
- Die Möglichkeit zur automatischen Erkennung der Basisadresse für 'rohe' Dateien wurde hinzugefügt;
- Die Unterstützung für das Laden von Speicherabzügen im Debug-Modus basierend auf den Windows PageDump/Minidump-Formaten wurde implementiert;
- Die Funktionalität mit Remote-Debuggern von WinDbg/KD wurde verbessert.
- Aktuell wurde die Unterstützung für die Architektur ARMv7/ARMv8, AVR, 6052, brainfuck in die neue RzIL übertragen. Für das nächste Release wird der Abschluss der Übertragung für SuperH, PowerPC und teilweise x86 angestrebt.
Zusätzlich wurden veröffentlicht:
- rz-libyara – ein Plugin für Rizin/Cutter zur Unterstützung des Ladens und Erstellens von Signaturen im Yara-Format;
- rz-libdemangle – eine Bibliothek zur Dekodierung von Funktionsnamen für C++/ObjC/Rust/Swift/Java;
- rz-ghidra – ein Plugin für Rizin/Cutter zur Dekompilierung (basierend auf C++-Code von Ghidra);
- jsdec – ein Plugin für Rizin/Cutter zur Dekompilierung einer originalen Entwicklung;
- rz-retdec – ein Plugin für Rizin/Cutter zur Dekompilierung (basierend auf RetDec);
- rz-tracetest – ein Werkzeug zur Kreuzvalidierung der Korrektheit der Maschinencode-Übersetzung in RzIL durch Vergleich mit einem Emulations-Trace (auf Basis von QEMU, VICE).
Quelle: opennet.ru
