Produciuse o lanzamento do framework para a enxeñaría inversa Rizin e o shell gráfico asociado Cutter. O proxecto Rizin comezou como unha bifurcación do framework Radare2 e continuou o seu desenvolvemento facendo énfase nunha API conveniente e un foco na análise de código sen investigación forense. Desde a bifurcación, o proxecto pasou a un mecanismo fundamentalmente diferente para gardar sesións ("proxectos") en forma de estado baseado na serialización. Ademais, a base de código foi redeseñado significativamente para facelo máis mantido. O código do proxecto está escrito en C e distribúese baixo a licenza LGPLv3.
O shell gráfico de Cutter está escrito en C++ usando Qt e distribúese baixo a licenza GPLv3. Cutter, como o propio Rizin, está dirixido ao proceso de programas de enxeñería inversa en código máquina ou bytecode (por exemplo, JVM ou PYC). Hai complementos de descompilación para Cutter/Rizin baseados en Ghidra, JSdec e RetDec.
Na nova versión:
- Engadiuse soporte para a creación de sinaturas FLIRT, que logo se poden cargar en IDA Pro;
- O paquete inclúe unha base de datos de sinaturas estándar para bibliotecas populares;
- Recoñecemento mellorado de funcións e liñas de ficheiros executables en Go para x86/x64/PowerPC/MIPS/ARM/RISC-V;
- Implementouse unha nova linguaxe de representación intermedia RzIL baseada na BAP Core Theory (linguaxe similar a SMT);
- Engadida a capacidade de detectar automaticamente o enderezo base para ficheiros "en bruto";
- Implementouse o soporte para cargar "instantáneas" de memoria baseadas en formatos PageDump/Minidump de Windows no modo de depuración;
- Mellorouse o traballo con depuradores remotos baseados en WinDbg/KD.
- Polo momento, o soporte para arquitecturas ARMv7/ARMv8, AVR, 6052, brainfuck foi transferido ao novo RzIL. Para a próxima versión está previsto completar a tradución para SuperH, PowerPC e parcialmente x86.
Tamén se publicou adicionalmente:
- rz-libyara: complemento para Rizin/Cutter para soportar a carga e a creación de sinaturas en formato Yara;
- rz-libdemangle: biblioteca de decodificación de nomes de función para linguaxes C++/ObjC/Rust/Swift/Java;
- rz-ghidra – complemento para Rizin/Cutter para a descompilación (baseado no código Ghidra C++);
- jsdec – complemento para Rizin/Cutter para descompilar o desenvolvemento orixinal;
- rz-retdec – complemento para Rizin/Cutter para a descompilación (baseado en RetDec);
- rz-tracetest: unha utilidade para verificar a corrección da tradución do código máquina a RzIL en comparación cun trazo de emulación (baseado en QEMU, VICE).
Fonte: opennet.ru