La sortie du framework pour le reverse engineering Rizin et de son interface graphique associée Cutter a eu lieu. Le projet Rizin a commencé comme un fork du framework Radare2 et a continué à évoluer avec un accent sur une API conviviale et une focalisation sur l'analyse de code sans forensic. Depuis le fork, le projet a adopté un mécanisme fondamentalement différent de sauvegarde des sessions (« projets ») sous forme d'état basé sur la sérialisation. De plus, la base de code a été considérablement retravaillée pour faciliter la maintenance. Le code du projet est écrit en C et est distribué sous la licence LGPLv3.
L'interface graphique Cutter est écrite en C++ en utilisant Qt et est distribuée sous la licence GPLv3. Cutter, tout comme Rizin lui-même, est destiné au processus de reverse engineering de programmes en code machine ou en bytecode (par exemple, JVM ou PYC). Des plugins de décompilation pour Cutter/Rizin basés sur Ghidra, JSdec et RetDec sont disponibles.

Dans cette nouvelle version :
- Le support pour la création de signatures FLIRT a été ajouté, qui peuvent ensuite être chargées dans IDA Pro ;
- Une base de signatures standard pour les bibliothèques populaires est incluse dans la livraison ;
- La reconnaissance des fonctions et des chaînes des fichiers exécutables en Go a été améliorée pour x86/x64/PowerPC/MIPS/ARM/RISC-V ;
- Un nouveau langage de représentation intermédiaire RzIL basé sur la BAP Core Theory (langage de type SMT) a été implémenté ;
- Il est maintenant possible de détecter automatiquement l'adresse de base pour les fichiers « bruts » ;
- Le support du chargement en mode débogage des « dumps » de mémoire basés sur les formats Windows PageDump/Minidump a été implémenté ;
- Améliorations apportées au travail avec les débogueurs distants basés sur WinDbg/KD.
- À ce jour, le support des architectures ARMv7/ARMv8, AVR, 6052 et brainfuck a été transféré vers le nouveau RzIL. Pour la prochaine version, il est prévu de finaliser la migration pour SuperH, PowerPC et en partie x86.
Des ajouts ont également été publiés :
- rz-libyara – plugin pour Rizin/Cutter pour supporter le chargement et la création de signatures au format Yara ;
- rz-libdemangle – bibliothèque de démangling pour les langages C++/ObjC/Rust/Swift/Java ;
- rz-ghidra – plugin pour Rizin/Cutter pour la décompilation (basée sur le code C++ de Ghidra) ;
- jsdec – plugin pour Rizin/Cutter pour la décompilation développée en interne ;
- rz-retdec – plugin pour Rizin/Cutter pour la décompilation (basée sur RetDec) ;
- rz-tracetest – utilitaire de vérification croisée de l'exactitude de la traduction du code machine en RzIL par comparaison avec une trace d'émulation (basée sur QEMU, VICE).
Source : opennet.ru
