อ่าน 4 นาที
เรดาร์2
Radare2 (หรือที่รู้จักกันในชื่อr2 ) เป็นเฟรมเวิร์ก ที่สมบูรณ์ สำหรับการวิศวกรรมย้อนกลับและการวิเคราะห์ไบนารี...
เรดาร์2
| เรดาร์2 | |
|---|---|
ภาพที่แสดงคือ Iaito ซึ่งเป็นส่วนติดต่อผู้ใช้แบบกราฟิกของ Radare2 | |
| ผู้เขียนต้นฉบับ | เซร์จิ อัลวาเรซ (แพนเค้ก) |
| นักพัฒนา | แพนเค้กและชุมชน |
| เวอร์ชันเสถียร | 6.0.7 [ 1 ] |
| เขียนเป็น | C [ 2 ] |
| ระบบปฏิบัติการ | ลินุกซ์ , บีเอสดี , มอสซาเรลล่า , ไมโครซอฟต์ วินโดวส์ , ไฮกุ , แอนดรอยด์ , ไอโอเอส , โซลาริส |
| มีจำหน่ายใน | ภาษาอังกฤษ |
| พิมพ์ | ผู้ถอดประกอบ |
| ใบอนุญาต | แอลจีพีแอล |
| เว็บไซต์ | www.radare.org/n/ |
| ที่เก็บข้อมูล |
|
Radare2 (หรือที่รู้จักกันในชื่อr2 ) เป็นเฟรมเวิร์ก ที่สมบูรณ์ สำหรับการวิศวกรรมย้อนกลับและการวิเคราะห์ไบนารี ประกอบด้วยชุดยูทิลิตี้ขนาดเล็กที่สามารถใช้งานร่วมกันหรือแยกกันได้จากบรรทัดคำสั่งสร้างขึ้นโดยใช้ตัวแยก ส่วน ซอฟต์แวร์คอมพิวเตอร์ซึ่งสร้างซอร์สโค้ดภาษาแอ สเซมบลีจากโค้ดที่เครื่องสามารถเรียกใช้งานได้ รองรับ รูปแบบไฟล์ปฏิบัติการที่หลากหลายสำหรับสถาปัตยกรรมโปรเซสเซอร์และระบบปฏิบัติการต่างๆ
ประวัติศาสตร์
Radare2 ถูกสร้างขึ้นในเดือนกุมภาพันธ์ พ.ศ. 2549 [ 3 ]โดยมีเป้าหมายเพื่อจัดหาอินเทอร์เฟซบรรทัดคำสั่งที่ฟรี และเรียบง่ายสำหรับ ตัวแก้ไขเลขฐานสิบหกที่รองรับออฟเซ็ต 64 บิต เพื่อทำการค้นหาและกู้คืนข้อมูลจากฮาร์ดดิสก์เพื่อวัตถุประสงค์ทางนิติวิทยาศาสตร์ นับตั้งแต่นั้นมา โครงการนี้ได้เติบโตขึ้นโดยมีเป้าหมายเปลี่ยนไปเป็นการจัดหาเฟรมเวิร์กที่สมบูรณ์สำหรับการวิเคราะห์ไบนารีในขณะที่ยึดมั่นในหลักการหลายประการของปรัชญา Unix [ 4 ]
ในปี 2552 มีการตัดสินใจที่จะเขียนใหม่ทั้งหมด เพื่อเอาชนะข้อจำกัดในการออกแบบเริ่มต้น นับตั้งแต่นั้นมา โครงการก็เติบโตอย่างต่อเนื่อง[ 5 ]และดึงดูดนักพัฒนาอสังหาริมทรัพย์หลายราย
ในปี 2016 การประชุม r2con ครั้งแรก จัดขึ้นที่บาร์เซโลนา [ 6 ] [ 7 ]โดยมีผู้เข้าร่วมมากกว่า 100 คน และมีการพูดคุยเกี่ยวกับคุณสมบัติและการปรับปรุงต่างๆ ของเฟรมเวิร์ ก
Radare2 ได้รับความสนใจจากการนำ เสนอ หลายครั้งในการ ประชุมด้านความปลอดภัยที่มีชื่อเสียงหลายแห่งเช่น recon [ 8 ] hack.lu [ 9 ] 33c3 [ 3 ]
ส้อมริซิน
ในปี 2020 Radare2 ถูกแยกออกเป็น Rizin เนื่องจากความขัดแย้งระหว่างผู้เขียนต้นฉบับและกลุ่มผู้ร่วมงานภายนอก[ 10 ]
คุณสมบัติและการใช้งาน
Radare2 เองนั้นมีเส้นโค้งการเรียนรู้ ที่ค่อนข้างสูง เนื่องจากไบนารีที่ทำงานได้หลักนั้นทำงานผ่านอินเทอร์เฟซบรรทัดคำสั่ง เดิมทีสร้างขึ้นโดยใช้ตัวแก้ไขเลขฐานสิบหก ปัจจุบันมีเครื่องมือและคุณสมบัติมากมาย รวมถึงการผูกกับภาษาต่างๆ หลายภาษา[ 11 ]นอกเหนือจากอินเทอร์เฟซบรรทัดคำสั่งแล้ว ยังมีตัวเลือกอินเทอร์เฟซผู้ใช้บนเว็บ[ 12 ]และโครงการอินเทอร์เฟซผู้ใช้แบบกราฟิกอย่างเป็นทางการที่เรียกว่า Iaito [ 13 ]
การวิเคราะห์สถิต
Radare2 สามารถประกอบและแยกส่วนโปรแกรมซอฟต์แวร์ได้หลายโปรแกรม โดยส่วนใหญ่เป็นไฟล์ปฏิบัติการ แต่ยังสามารถเปรียบเทียบไบนารีด้วยกราฟ[ 14 ]ดึงข้อมูล เช่น สัญลักษณ์ การย้ายตำแหน่งและข้อมูลประเภทอื่นๆ ได้อีกด้วย ภายใน Radare2 ใช้ฐานข้อมูลNoSQL ชื่อsdb เพื่อติดตามข้อมูลการวิเคราะห์ที่ Radare2 สามารถอนุมานได้หรือผู้ใช้เพิ่มด้วยตนเอง เนื่องจากสามารถจัดการกับไบนารีที่ผิดรูปแบบได้ นักวิจัยด้าน ความปลอดภัยของซอฟต์แวร์จึงใช้ Radare2 เพื่อวัตถุประสงค์ในการวิเคราะห์ด้วย[ 15 ] [ 16 ] [ 17 ]
การวิเคราะห์เชิงพลวัต
Radare2 มี ดีบักเกอร์ในตัวซึ่งอยู่ในระดับต่ำกว่าGDBนอกจากนี้ยังสามารถเชื่อมต่อกับ GDB และWineDBG [ 18 ]เพื่อดีบัก ไบนารี ของ Windowsบนระบบอื่นได้อีกด้วย ยิ่งไปกว่านั้น ยังสามารถใช้เป็นดีบักเกอร์เคอร์เนลกับVMWare ได้ อีกด้วย
การแสวงหาประโยชน์จากซอฟต์แวร์
เนื่องจากมีตัวแยกส่วนประกอบและตัวดีบักเกอร์ระดับต่ำ Radare2 จึงมีประโยชน์สำหรับนักพัฒนาช่องโหว่ซอฟต์แวร์นี้มีคุณสมบัติที่ช่วยในการพัฒนาช่องโหว่ เช่น เครื่องมือค้นหา ROP gadgetและ การตรวจ จับการบรรเทาผลกระทบเนื่องจากความยืดหยุ่นของซอฟต์แวร์และการรองรับรูปแบบไฟล์จำนวนมาก จึงมักถูกใช้โดยทีมCapture the Flag [ 19 ] [ 20 ]และบุคลากรที่มุ่งเน้นด้านความปลอดภัยอื่นๆ[ 21 ] Radare2 ยังสามารถช่วยในการสร้างshellcodeด้วยเครื่องมือ 'ragg2' คล้ายกับ metasploit
ส่วนติดต่อผู้ใช้แบบกราฟิก (GUI)
โครงการIaito ได้รับการพัฒนาให้เป็น อินเทอร์เฟซผู้ใช้แบบกราฟิก (GUI)เฉพาะตัวแรกสำหรับ Radare2 โดยCutter ได้แยกโครงการนี้ออกมา เป็นอินเทอร์เฟซผู้ใช้แบบกราฟิก (GUI) ตัวที่สอง สำหรับ Radare2 เมื่อโครงการ Cutter แยกตัวออกจากโครงการ Radare2 ในช่วงปลายปี 2020 [ 22 ] Iaitoได้รับการพัฒนาใหม่ให้เป็นอินเทอร์เฟซผู้ใช้แบบกราฟิก (GUI) อย่างเป็นทางการของ Radare2 ในปัจจุบัน ซึ่งได้รับการดูแลโดยสมาชิกโครงการ Radare2 [ 13 ]
สถาปัตยกรรมและรูปแบบที่รองรับ
- รูปแบบไฟล์ที่รู้จัก
- COFFและอนุพันธ์ รวมถึง Win32/64/generic PE
- ELFและอนุพันธ์
- Mach-O ( Mach ) และอนุพันธ์
- ตลับเกม Game BoyและGame Boy Advance
- MZ ( DOS )
- คลาส Java
- Lua 5.1 และไบต์โค้ดPython
- dyld cache dump [ 23 ]
- Dex ( ไฟล์ปฏิบัติการ Dalvik )
- รูปแบบ Xbox xbe [ 24 ]
- ไบนารีPlan9
- เครื่องเสมือนWinRAR [ 25 ]
- ระบบไฟล์ต่างๆ เช่น ตระกูล ext , ReiserFS , HFS+ , NTFS , FAT , ...
- รูปแบบไฟล์ DWARFและPDBสำหรับจัดเก็บข้อมูลการดีบักเพิ่มเติม
- อามิก้า ฮังก์
- ไบนารีดิบ
- ชุดคำสั่ง
- ตระกูลIntel x86
- สถาปัตยกรรม ARM
- ซีรีส์Atmel AVR
- สมองบ้า
- Motorola 68kและ H8
- ริโคห์ 5A22
- MOS 6502
- เครื่องเสมือน PSOS สมาร์ทการ์ด
- เครื่องเสมือน Java
- MIPS : mipsb/mipsl/mipsr/mipsrl/r5900b/r5900l
- พาวเวอร์พีซี
- ครอบครัวSPARC
- ซีรี่ส์ TMS320Cxxx
- Argonaut RISC Core
- ซีรี่ส์ Intel 51 : 8051/80251b/80251s/80930b/80930s
- ซิล็อก ซี80
- ซีอาร์16
- เคมบริดจ์ ซิลิคอน เรดิโอ (CSR)
- AndroidVM Dalvik
- ดีซีพียู-16
- EFI ไบต์โค้ด
- เกมบอย (แบบเดียวกับ z80)
- โค้ดไบต์ Java
- มัลโบลจ์
- เอ็มเอสไอแอล/ซีไอแอล
- นิออส II
- ซูเปอร์เอช
- สพีซี700
- ซิสเต็มส์
- ทีเอ็มเอส320
- วี850
- พื้นที่ว่าง
- เอ็กซ์คอร์
อ่านเพิ่มเติม
- maijin (2016). หนังสือ radare2 . สืบค้นเมื่อ 20 มีนาคม 2016 .
- monosource (2016). การ สำรวจRadare2สืบค้นเมื่อ19 มกราคม 2017
- แพนเค้ก (2008). หนังสือเรดาร์ฉบับดั้งเดิม . หน้า 152.
ลิงก์ภายนอก
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ เรดาร์2
Radare2 (หรือที่รู้จักกันในชื่อr2 ) เป็นเฟรมเวิร์ก ที่สมบูรณ์ สำหรับการวิศวกรรมย้อนกลับและการวิเคราะห์ไบนารี...
ประวัติศาสตร์
Radare2 ถูกสร้างขึ้นในเดือนกุมภาพันธ์ พ.ศ. 2549 [ 3 ] โดยมีเป้าหมายเพื่อจัดหาอินเทอร์เฟซบรรทัดคำสั่งที่ ฟรี และเรียบง่ายสำหรับ ตัวแก้ไขเลขฐานสิบหกที่รองรับออฟเซ็ต 64 บิต เพื่อทำการค้นหาและกู้คืนข้อมูลจาก ฮาร์ดดิสก์ เพื่อวัตถุประสงค์ทางนิติวิทยาศาสตร์...
ส้อมริซิน
ในปี 2020 Radare2 ถูก แยกออก เป็น Rizin เนื่องจากความขัดแย้งระหว่างผู้เขียนต้นฉบับและกลุ่มผู้ร่วมงานภายนอก [ 10 ]
คุณสมบัติและการใช้งาน
Radare2 เองนั้นมี เส้นโค้งการเรียนรู้ ที่ค่อนข้างสูง เนื่องจากไบนารีที่ทำงานได้หลักนั้นทำงานผ่านอินเทอร์เฟซบรรทัดคำสั่ง เดิมทีสร้างขึ้นโดยใช้ตัวแก้ไขเลขฐานสิบหก ปัจจุบันมีเครื่องมือและคุณสมบัติมากมาย รวมถึงการผูกกับภาษาต่างๆ หลายภาษา [ 11 ]...