Ha avuto luogo il rilascio del framework per il reverse engineering Rizin e della relativa shell grafica Cutter. Il progetto Rizin è iniziato come fork del framework Radare2 e ha continuato il suo sviluppo ponendo l'accento su un'API comoda e concentrandosi sull'analisi del codice senza analisi forensi. Dopo il fork, il progetto è passato a un meccanismo fondamentalmente diverso per il salvataggio delle sessioni (“progetti”) sotto forma di uno stato basato sulla serializzazione. Inoltre, il codice base è stato notevolmente riprogettato per renderlo più gestibile. Il codice del progetto è scritto in C ed è distribuito sotto la licenza LGPLv3.
La shell grafica di Cutter è scritta in C++ utilizzando Qt e distribuita sotto la licenza GPLv3. Cutter, come lo stesso Rizin, è finalizzato al processo di reverse engineering di programmi in codice macchina o bytecode (ad esempio JVM o PYC). Esistono plugin di decompilazione per Cutter/Rizin basati su Ghidra, JSdec e RetDec.
Nella nuova versione:
- Aggiunto supporto per la creazione di firme FLIRT, che possono poi essere caricate in IDA Pro;
- Il pacchetto include un database di firme standard per le biblioteche più diffuse;
- Migliorato il riconoscimento delle funzioni e delle righe dei file eseguibili in Go per x86/x64/PowerPC/MIPS/ARM/RISC-V;
- È stato implementato un nuovo linguaggio di rappresentazione intermedio RzIL basato sulla BAP Core Theory (linguaggio simile a SMT);
- Aggiunta la possibilità di rilevare automaticamente l'indirizzo base per i file “grezzi”;
- È stato implementato il supporto per il caricamento di “istantanee” di memoria basate sui formati Windows PageDump/Minidump in modalità debug;
- Lavoro migliorato con debugger remoti basati su WinDbg/KD.
- Al momento, il supporto per le architetture ARMv7/ARMv8, AVR, 6052, brainfuck è stato trasferito al nuovo RzIL. Entro il prossimo rilascio è previsto il completamento della traduzione per SuperH, PowerPC e parzialmente x86.
Inoltre sono stati rilasciati anche:
- rz-libyara – plugin per Rizin/Cutter per supportare il caricamento e la creazione di firme in formato Yara;
- rz-libdemangle – libreria di decodifica dei nomi di funzione per i linguaggi C++/ObjC/Rust/Swift/Java;
- rz-ghidra – plugin per Rizin/Cutter per la decompilazione (basato sul codice Ghidra C++);
- jsdec – plugin per Rizin/Cutter per decompilare lo sviluppo originale;
- rz-retdec – plugin per Rizin/Cutter per la decompilazione (basato su RetDec);
- rz-tracetest – un'utilità per il controllo incrociato della correttezza della traduzione del codice macchina in RzIL rispetto a una traccia di emulazione (basata su QEMU, VICE).
Fonte: opennet.ru