การเปิดตัวเฟรมเวิร์กสำหรับวิศวกรรมย้อนกลับ Rizin 0.4.0 และ GUI Cutter 2.1.0

การเปิดตัวเฟรมเวิร์กสำหรับวิศวกรรมย้อนกลับ Rizin และเครื่องตัดเปลือกกราฟิกที่เกี่ยวข้องเกิดขึ้น โครงการ Rizin เริ่มต้นจากการเป็นทางแยกของเฟรมเวิร์ก Radare2 และยังคงพัฒนาต่อไปโดยเน้นที่ API ที่สะดวกสบาย และมุ่งเน้นไปที่การวิเคราะห์โค้ดโดยไม่ต้องมีนิติเวช ตั้งแต่การแยกทาง โปรเจ็กต์ได้เปลี่ยนไปใช้กลไกที่แตกต่างกันโดยพื้นฐานสำหรับการบันทึกเซสชัน (“โปรเจ็กต์”) ในรูปแบบของสถานะตามการทำให้เป็นอนุกรม นอกจากนี้ ฐานโค้ดยังได้รับการออกแบบใหม่อย่างมากเพื่อให้สามารถบำรุงรักษาได้มากขึ้น รหัสโครงการเขียนด้วยภาษา C และเผยแพร่ภายใต้ใบอนุญาต 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 (ภาษาคล้าย SMT) ได้ถูกนำมาใช้แล้ว
  • เพิ่มความสามารถในการตรวจจับที่อยู่ฐานสำหรับไฟล์ "ดิบ" โดยอัตโนมัติ
  • มีการรองรับการโหลดหน่วยความจำ “snapshots” ตามรูปแบบ Windows PageDump/Minidump ในโหมดดีบัก
  • ปรับปรุงการทำงานกับดีบักเกอร์ระยะไกลโดยใช้ WinDbg/KD
  • ในขณะนี้ การสนับสนุนสถาปัตยกรรม ARMv7/ARMv8, AVR, 6052 และ Brainfuck ได้ถูกถ่ายโอนไปยัง RzIL ใหม่แล้ว ในรุ่นถัดไป มีการวางแผนที่จะแปล SuperH, PowerPC และ x86 บางส่วนให้เสร็จสิ้น

นอกจากนี้ ยังมีการเปิดตัว:

  • rz-libyara – ปลั๊กอินสำหรับ Rizin/Cutter เพื่อรองรับการโหลดและสร้างลายเซ็นในรูปแบบ Yara
  • rz-libdemangle – ไลบรารีการถอดรหัสชื่อฟังก์ชันสำหรับภาษา C++/ObjC/Rust/Swift/Java;
  • rz-ghidra – ปลั๊กอินสำหรับ Rizin/Cutter สำหรับการถอดรหัส (ขึ้นอยู่กับรหัส Ghidra C++);
  • jsdec – ปลั๊กอินสำหรับ Rizin/Cutter สำหรับการถอดรหัสการพัฒนาดั้งเดิม
  • rz-retdec – ปลั๊กอินสำหรับ Rizin/Cutter สำหรับการถอดรหัส (ขึ้นอยู่กับ RetDec);
  • rz-tracetest – ยูทิลิตี้สำหรับตรวจสอบความถูกต้องของการแปลรหัสเครื่องเป็น RzIL โดยการเปรียบเทียบกับการติดตามการจำลอง (อิงจาก QEMU, VICE)

ที่มา: opennet.ru

เพิ่มความคิดเห็น