Rizin 0.4.0 және GUI Cutter 2.1.0 кері инженерия үшін негіздің шығарылымы

Ризиннің кері инженериясының негізін шығару және онымен байланысты графикалық қабық Cutter болды. Ризин жобасы Radare2 құрылымының шанышқысы ретінде басталды және ыңғайлы API-ге және сот сараптамасынсыз кодты талдауға баса назар аудара отырып, дамуын жалғастырды. Шанышқыдан бері жоба сериализацияға негізделген күй түріндегі сеанстарды («жобалар») сақтаудың түбегейлі басқа механизміне ауысты. Бұған қоса, кодтық база оны қызмет көрсетуге ыңғайлы ету үшін айтарлықтай қайта жасалды. Жоба коды C тілінде жазылған және LGPLv3 лицензиясы бойынша таратылады.

Cutter графикалық қабығы Qt көмегімен C++ тілінде жазылған және GPLv3 лицензиясы бойынша таратылады. Cutter, Ризиннің өзі сияқты, машиналық кодта немесе байт кодта (мысалы, JVM немесе PYC) кері инженерия бағдарламалары процесіне бағытталған. Ghidra, JSdec және RetDec негізінде Cutter/Rizin үшін декомпиляция плагиндері бар.

Rizin 0.4.0 және GUI Cutter 2.1.0 кері инженерия үшін негіздің шығарылымы

Жаңа шығарылымда:

  • FLIRT қолтаңбаларын жасауға қолдау қосылды, оларды кейін IDA Pro жүйесіне жүктеуге болады;
  • Пакетке танымал кітапханалар үшін стандартты қолтаңбалардың дерекқоры кіреді;
  • Go for x86/x64/PowerPC/MIPS/ARM/RISC-V жүйесінде функциялар мен орындалатын файлдар жолдарын тану жақсартылған;
  • BAP Core Theory (SMT тәрізді тіл) негізіндегі RzIL жаңа аралық бейнелеу тілі енгізілді;
  • «шикі» файлдар үшін негізгі мекенжайды автоматты түрде анықтау мүмкіндігі қосылды;
  • Отладка режимінде Windows PageDump/Minidump пішімдеріне негізделген жад «суреттерін» жүктеуге қолдау көрсетілді;
  • WinDbg/KD негізіндегі қашықтағы жөндеушілермен жақсартылған жұмыс.
  • Қазіргі уақытта ARMv7/ARMv8, AVR, 6052, brainfuck архитектурасына қолдау жаңа RzIL-ге ауыстырылды. Келесі шығарылымда SuperH, PowerPC және ішінара x86 үшін аударманы аяқтау жоспарлануда.

Сондай-ақ қосымша шығарылады:

  • rz-libyara – Yara пішімінде қолтаңбаларды жүктеуді және жасауды қолдау үшін Rizin/Cutter плагині;
  • rz-libdemangle – C++/ObjC/Rust/Swift/Java тілдері үшін функция атауын декодтау кітапханасы;
  • rz-ghidra – декомпиляцияға арналған Rizin/Cutter плагині (Ghidra C++ кодына негізделген);
  • jsdec – бастапқы өңдеуді декомпиляциялауға арналған Rizin/Cutter плагині;
  • rz-retdec – декомпиляцияға арналған Rizin/Cutter плагині (RetDec негізінде);
  • rz-tracetest – эмуляция ізімен (QEMU, VICE негізінде) салыстыру арқылы машина кодын RzIL-ге аударудың дұрыстығын кросс-тексеруге арналған утилита.

Ақпарат көзі: opennet.ru

пікір қалдыру