Адбыўся рэліз фрэймворка для рэверс-інжынірынгу Rizin і звязанай з ім графічнай абалонкі Cutter. Праект Rizin пачаўся як форк фрэймворка Radare2 і працягнуў яго развіццё з ухілам на зручны API і фокусам на аналіз кода без форензікі. З моманту форка праект перайшоў на прынцыпова выдатны механізм захавання сесіі ("праектаў") у выглядзе стану на базе серыялізацыі. Акрамя таго, кодавая база значна перапрацавана ў бок зручнасці суправаджэння. Код праекту напісаны на мове Сі і распаўсюджваецца пад ліцэнзіяй LGPLv3.
Графічная абалонка Cutter напісана C++ з выкарыстаннем Qt і распаўсюджваецца пад ліцэнзіяй GPLv3. Cutter, як і сам Rizin, накіраваны на працэс зваротнай распрацоўкі праграм у машынным кодзе або байткодзе (напрыклад JVM або PYC). Для Cutter/Rizin існуюць убудовы дэкампіляцыі на аснове Ghidra, JSdec і RetDec.
У новым выпуску:
- Дададзена падтрымка стварэння сігнатур FLIRT, якія потым могуць быць загружаны ў IDA Pro;
- У пастаўку ўключана база стандартных сігнатур для папулярных бібліятэк;
- Палепшана распазнанне функцый і радкоў выкананых файлаў на Go для x86/x64/PowerPC/MIPS/ARM/RISC-V;
- Рэалізаваны новая мова прамежкавага прадстаўлення RzIL на базе BAP Core Theory (SMT-падобная мова);
- Дададзена магчымасць аўта-вызначэння базавага адраса для "волкіх" файлаў;
- Рэалізаваная падтрымка загрузкі ў адладкавым рэжыме "злепкаў" памяці на базе Windows PageDump/Minidump фарматаў;
- Палепшана праца з выдаленымі адладчыкамі на базе WinDbg/KD.
- На дадзены момант на новы RzIL пераведзена падтрымка архітэктур ARMv7/ARMv8, AVR, 6052, brainfuck. Да наступнага рэлізу плануецца завяршыць пераклад для SuperH, PowerPC і часткова x86.
Таксама дадаткова выпушчаны:
- rz-libyara – убудова для Rizin/Cutter для падтрымкі загрузкі і стварэння сігнатур у фармаце Yara;
- rz-libdemangle – бібліятэка расшыфроўкі імёнаў функцый для моў C++/ObjC/Rust/Swift/Java;
- rz-ghidra - убудова для Rizin / Cutter для дэкампіляцыі (на базе C++ кода Ghidra);
- jsdec – убудова для Rizin/Cutter для дэкампіляцыі арыгінальнай распрацоўкі;
- rz-retdec - убудова для Rizin / Cutter для дэкампіляцыі (на базе RetDec);
- rz-tracetest - утыліта крыжаванай праверкі карэктнасці трансляцыі машыннага кода ў RzIL шляхам параўнання з трасай эмуляцыі (на базе QEMU, VICE).
Крыніца: opennet.ru