พลวัต
เกี่ยวกับ Dynamorio
Dynamorio เป็นระบบจัดการรหัสรันไทม์ที่รองรับการแปลงรหัสในส่วนใด ๆ ของโปรแกรมในขณะที่ดำเนินการ Dynamorio ส่งออกอินเทอร์เฟซสำหรับการสร้างเครื่องมือแบบไดนามิกสำหรับการใช้งานที่หลากหลาย: การวิเคราะห์และทำความเข้าใจโปรแกรมการทำโปรไฟล์การใช้เครื่องมือการเพิ่มประสิทธิภาพการแปล ฯลฯ ซึ่งแตกต่างจากระบบเครื่องมือไดนามิกจำนวนมากไดนามิกไม่ จำกัด เฉพาะการแทรกคำบรรยายภาพ/trampolines Dynamorio ให้การจัดการที่มีประสิทธิภาพโปร่งใสและครอบคลุมของแอพพลิเคชั่นที่ไม่ได้แก้ไขที่ทำงานบนระบบปฏิบัติการสต็อก (Windows, Linux หรือ Android) และ Commodity IA-32, AMD64, ARM และ ARCH64 ฮาร์ดแวร์ การสนับสนุน MAC OSX กำลังดำเนินการอยู่
เครื่องมือที่ใช้ไดนาโมริโอที่มีอยู่
Dynamorio เป็นพื้นฐานสำหรับเครื่องมือภายนอกที่รู้จักกันดี:
- The ARM CRESSION Emulator (Armie)
- Winafl เครื่องมือ Windows Fuzzing เป็นเครื่องมือวัดและรหัสครอบคลุมรหัส
- ตัวสร้างโปรไฟล์ที่ละเอียดสำหรับ ARM drcctprof
- เฟรมเวิร์กแบบพกพาและมีประสิทธิภาพสำหรับ profilers มูลค่าละเอียด vclinic
- Framework Sanitizer ที่ใช้สุ่มตัวอย่าง GWPSAN
เครื่องมือที่สร้างขึ้นบน Dynamorio และมีอยู่ในแพ็คเกจรีลีสรวมถึง:
- เครื่องมือการดีบักหน่วยความจำดร. หน่วยความจำ
- กรอบการติดตามและการวิเคราะห์ DRMEMTRACE พร้อมเครื่องมือหลายอย่างที่ทำงานบนทั้งออนไลน์ (พร้อมการสนับสนุนหลายกระบวนการ) และการเรียนการสอนออฟไลน์และร่องรอยที่อยู่หน่วยความจำ:
- ตัวจำลองแคช drcachesim
- การจำลอง TLB
- ใช้ระยะไกล
- นำกลับมาใช้ใหม่
- Opcode Mix
- ฟังก์ชั่นการติดตามการโทร
- ตัวประมวลผลตัวประมวลผลมรดก Drcpusim
- เครื่องมือ "Strace for Windows" drstrace
- เครื่องมือครอบคลุมรหัส DRCOV
- เครื่องมือติดตามห้องสมุด drltrace
- เครื่องมือติดตามที่อยู่หน่วยความจำ Memtrace (ร่องรอยออฟไลน์ของ DrMemtrace นั้นเร็วขึ้นด้วยโครงสร้างพื้นฐานโดยรอบมากขึ้น แต่นี่เป็นจุดเริ่มต้นที่ง่ายกว่าสำหรับการติดตามที่อยู่หน่วยความจำที่กำหนดเอง)
- Memval เครื่องมือติดตามค่าหน่วยความจำ
- เครื่องมือการติดตามคำแนะนำ (ร่องรอยออฟไลน์ของ DrMemtrace นั้นเร็วขึ้นด้วยโครงสร้างพื้นฐานโดยรอบมากขึ้น แต่นี่เป็นจุดเริ่มต้นที่ง่ายกว่าสำหรับการติดตามคำสั่งที่กำหนดเอง)
- เครื่องมือติดตามบล็อกพื้นฐาน BBBUF
- เครื่องมือนับจำนวนคำสั่ง
- เครื่องมือทดสอบฟัซซี่แบบไดนามิก Dr. Fuzz
- เครื่องมือถอดแยกชิ้นส่วน drdisas
- และอื่น ๆ รวมถึงการนับ opcode, เครื่องมือสาขา ฯลฯ : ดูตัวอย่าง API
การสร้างเครื่องมือที่คุณกำหนดเอง
API ที่ทรงพลังของ Dynamorio เป็นบทสรุปรายละเอียดของโครงสร้างพื้นฐานพื้นฐานและช่วยให้เครื่องมือสร้างเครื่องมือมีสมาธิในการวิเคราะห์หรือแก้ไขสตรีมรหัสรันไทม์ของแอปพลิเคชัน เอกสาร API รวมอยู่ในแพ็คเกจรุ่นและยังสามารถเรียกดูออนไลน์ได้ สไลด์จากบทเรียนที่ผ่านมาของเรายังมีให้
การดาวน์โหลด Dynamorio
Dynamorio พร้อมใช้งานฟรีเป็นแพ็คเกจไบนารีสำหรับทั้ง Windows และ Linux ซอร์สโค้ดของ Dynamorio นั้นมีอยู่ภายใต้ใบอนุญาต BSD เป็นหลัก
ได้รับความช่วยเหลือ
ใช้รายการสนทนาเพื่อถามคำถาม
หากต้องการรายงานข้อผิดพลาดให้ใช้ตัวติดตามปัญหา
ดูเพิ่มเติมที่โฮมเพจ Dynamorio: http://dynamorio.org/