เฟรมเวิร์กการวิเคราะห์ไบนารีของ Pharos Static เป็นโครงการของสถาบันวิศวกรรมซอฟต์แวร์ที่ Carnegie Mellon University เฟรมเวิร์กได้รับการออกแบบมาเพื่ออำนวยความสะดวกในการวิเคราะห์โปรแกรมไบนารีอัตโนมัติ มันใช้โครงสร้างพื้นฐานของ Rose Compiler ที่พัฒนาโดย Lawrence Livermore National Laboratory สำหรับการถอดประกอบการวิเคราะห์การไหลของการควบคุมความหมายการเรียนการสอนและอื่น ๆ ซอฟต์แวร์นี้เปิดตัวภายใต้ใบอนุญาต BSD
การแจกแจงปัจจุบันเป็นการอัปเดตที่สำคัญสำหรับเวอร์ชันก่อนหน้าและเพิ่มคุณสมบัติที่หลากหลายรวมถึงการปรับปรุงเครื่องมือ Ooanalyzer รหัสการวิเคราะห์เส้นทางทดลองการปรับปรุงพาร์ทิชันการทำแบบมัลติเธรดและคุณสมบัติที่เล็กกว่าอื่น ๆ อีกมากมาย
เฟรมเวิร์ก Pharos เป็นโครงการวิจัยและรหัสอยู่ระหว่างการพัฒนาที่ใช้งานอยู่ ไม่มีการรับประกันความฟิตสำหรับวัตถุประสงค์ใด ๆ ในขณะที่รุ่นนี้มีคำแนะนำในการสร้างการทดสอบหน่วยและเอกสารบางอย่างยังคงมีงานมากมายที่ต้องทำ เราได้ทดสอบการกำหนดค่าการสร้างแบบเลือกสองสามครั้ง แต่เรายังไม่ได้ทดสอบความสามารถในการพกพาของซอร์สโค้ด ดูคำแนะนำการติดตั้งสำหรับรายละเอียดเพิ่มเติม
เนื่องจากวัตถุประสงค์หลักในการปล่อยรหัสนี้คือการให้ความโปร่งใสในการวิจัยของเราและกระตุ้นการสนทนากับนักวิจัยการวิเคราะห์แบบไบนารีอื่น ๆ โปรดติดต่อ Cory Cohen [email protected] พร้อมคำถามที่คุณอาจมีเกี่ยวกับงานนี้ ฉันอาจไม่สามารถตอบกลับได้ในเวลาที่เหมาะสม แต่ฉันจะทำให้ดีที่สุด
Apianalyzer เป็นเครื่องมือในการค้นหาลำดับของการเรียก API ด้วยข้อมูลที่ระบุและความสัมพันธ์ในการควบคุม ความสามารถนี้มีวัตถุประสงค์เพื่อใช้ในการตรวจจับกระบวนทัศน์การโต้ตอบของระบบปฏิบัติการทั่วไปเช่นการเปิดไฟล์การเขียนลงไปและปิด
Ooanalyzer เป็นเครื่องมือสำหรับการวิเคราะห์และการกู้คืนโครงสร้างเชิงวัตถุ เครื่องมือนี้เป็นหัวข้อของกระดาษชื่อ "การใช้การเขียนโปรแกรมลอจิกเพื่อกู้คืนคลาส C ++ และวิธีการจาก Executables ที่คอมไพล์" ซึ่งเผยแพร่ในการประชุม ACM เกี่ยวกับคอมพิวเตอร์และความปลอดภัยในการสื่อสารในปี 2018 เครื่องมือระบุสมาชิกวัตถุและวิธีการโดยการติดตามพอยน์เตอร์วัตถุระหว่างฟังก์ชั่นในโปรแกรม การใช้งานก่อนหน้านี้ของเครื่องมือนี้มีชื่อว่า "OBJDIGGER" แต่ถูกเปลี่ยนชื่อเพื่อสะท้อนการออกแบบใหม่ที่สำคัญโดยใช้กฎ PROLOG เพื่อกู้คืนคุณลักษณะของวัตถุ เครื่องมือเวอร์ชันปัจจุบันรองรับการวิเคราะห์ของ Executables 32 บิต X86 ที่รวบรวมโดย Microsoft Visual C ++ สำหรับอาจารย์ที่มีรายละเอียดเพิ่มเติมเกี่ยวกับวิธีการเรียกใช้ Ooanalyzer ในการดำเนินการที่มีขนาดใหญ่มากดูบันทึกเหล่านี้
การกระจาย Pharos ที่ใช้รวมปลั๊กอินที่นำเข้าข้อมูล OO ที่ส่งออกโดย Ooanalayzer ในชุดเครื่องมือวิศวกรรมย้อนกลับของ Ghidra เพื่อให้ได้ฟังก์ชั่นนั้นทั้งในปัจจุบันและในอนาคตให้ติดตั้งปลั๊กอิน Kaiju Ghidra ซึ่งรวมถึงฟังก์ชั่นที่จัดทำโดยปลั๊กอิน Ooanalayzer
Callanalyzer เป็นเครื่องมือในการรายงานพารามิเตอร์แบบคงที่ไปยังการโทร API ในโปรแกรมไบนารี ส่วนใหญ่เป็นการสาธิตการประชุมการโทรในปัจจุบันของเราการวิเคราะห์พารามิเตอร์และความสามารถในการตรวจจับประเภทแม้ว่ามันจะให้การวิเคราะห์ที่เป็นประโยชน์ของรหัสในโปรแกรม
FN2YARA เป็นเครื่องมือในการสร้างลายเซ็น YARA สำหรับฟังก์ชั่นการจับคู่ในโปรแกรมปฏิบัติการ โปรแกรมที่แบ่งปันฟังก์ชั่นจำนวนมากมีแนวโน้มที่จะมีพฤติกรรมร่วมกัน
FN2HASH เป็นเครื่องมือในการสร้างแฮชและคุณสมบัติเชิงพรรณนาอื่น ๆ สำหรับฟังก์ชั่นในโปรแกรมปฏิบัติการ เช่นเดียวกับ FN2YARA มันสามารถใช้เพื่อสนับสนุนการวิเคราะห์ความคล้ายคลึงกันแบบไบนารีหรือให้คุณสมบัติสำหรับอัลกอริทึมการเรียนรู้ของเครื่อง
Dumpmasm เป็นเครื่องมือในการทิ้งรายชื่อถอดประกอบจากการปฏิบัติการโดยใช้เฟรมเวิร์ก Pharos ในรูปแบบเดียวกับเครื่องมืออื่น ๆ มันยังไม่ได้รับการดูแลอย่างแข็งขันและคุณควรพิจารณาใช้การเรียกซ้ำมาตรฐานของ Rose แทน http://rosecompiler.org/rose_html_reference/rosetools.html