Π Π΅Π»ΠΈΠ· Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° для рСвСрс-ΠΈΠ½ΠΆΠΈΠ½ΠΈΡ€ΠΈΠ½Π³Π° Rizin 0.4.0 ΠΈ GUI Cutter 2.1.0

Бостоялся Ρ€Π΅Π»ΠΈΠ· Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° для рСвСрс-ΠΈΠ½ΠΆΠΈΠ½ΠΈΡ€ΠΈΠ½Π³Π° Rizin ΠΈ связанной с Π½ΠΈΠΌ графичСской ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ Cutter. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ Rizin начался ΠΊΠ°ΠΊ Ρ„ΠΎΡ€ΠΊ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° Radare2 ΠΈ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΠ» Π΅Π³ΠΎ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ с ΡƒΠΊΠ»ΠΎΠ½ΠΎΠΌ Π½Π° ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ API ΠΈ фокусом Π½Π° Π°Π½Π°Π»ΠΈΠ· ΠΊΠΎΠ΄Π° Π±Π΅Π· Ρ„ΠΎΡ€Π΅Π½Π·ΠΈΠΊΠΈ. Π‘ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° Ρ„ΠΎΡ€ΠΊΠ° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΏΠ΅Ρ€Π΅ΡˆΠ΅Π» Π½Π° ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½ΠΎ ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΉ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ сохранСния сСссии («ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ²») Π² Π²ΠΈΠ΄Π΅ состояния Π½Π° Π±Π°Π·Π΅ сСриализации. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, кодовая Π±Π°Π·Π° Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Ρ€Π°Π±ΠΎΡ‚Π°Π½Π° Π² сторону удобства сопровоТдСния. Код ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° написан Π½Π° языкС Π‘ΠΈ ΠΈ распространяСтся ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ LGPLv3.

ГрафичСская ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° Cutter написана C++ с использованиСм Qt ΠΈ распространяСтся ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ GPLv3. Cutter, ΠΊΠ°ΠΊ ΠΈ сам Rizin, Π½Π°Ρ†Π΅Π»Π΅Π½ Π½Π° процСсс ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π² машинном ΠΊΠΎΠ΄Π΅ ΠΈΠ»ΠΈ Π±Π°ΠΉΡ‚ΠΊΠΎΠ΄Π΅ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ JVM ΠΈΠ»ΠΈ PYC). Для Cutter/Rizin ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ дСкомпиляции Π½Π° основС Ghidra, JSdec ΠΈ RetDec.

Π Π΅Π»ΠΈΠ· Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° для рСвСрс-ΠΈΠ½ΠΆΠΈΠ½ΠΈΡ€ΠΈΠ½Π³Π° Rizin 0.4.0 ΠΈ GUI Cutter 2.1.0

Π’ Π½ΠΎΠ²ΠΎΠΌ выпускС:

  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° создания сигнатур 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