โครงการนี้มาถึงจุดจบของชีวิตและไม่ได้รับการดูแลอีกต่อไป ปัจจุบัน Ghidra จัดทำสคริปต์สำหรับการวิเคราะห์ RTTI และการสร้างคลาส ตอนนี้ควรใช้สคริปต์เหล่านี้และปรับปรุง
เอกสารเวอร์ชันที่สร้างขึ้นอย่างสมบูรณ์และเชื่อมโยงมีอยู่ที่ https://astrelsky.github.io/ghidra-cpp-class-analyzer
เรียกใช้คำสั่งต่อไปนี้ในเทอร์มินัลที่คุณเลือก
gradle buildExtension
เมื่อเสร็จสิ้นเอาต์พุตจะอยู่ในโฟลเดอร์ DIST
แยกเก็บถาวรไปยังโฟลเดอร์ปลายทางที่คุณเลือก เปิด Ghidra และจากผู้จัดการโครงการไปที่ file->Install Extensions... คลิกไอคอน + ใกล้กับมุมขวาบนของหน้าต่าง เลือกเส้นทางของโฟลเดอร์ Ghidra-CPP-Class-Analyzer ที่สกัดแล้วเลือกตกลง หลังจากรีสตาร์ท Ghidra เปิด codebrowser และไปที่ file->Configure...->Experimental และเลือก ClassTypeInfoManagerPlugin รีสตาร์ท CodeBrowser เพื่อให้เครื่องวิเคราะห์รีเฟรช

- คลาสที่ซ้อนกัน - คลาสพื้นฐาน - คลาสนามธรรม - คลาสเสมือน - คลาสนามธรรมเสมือนจริง
ต้องการสร้าง ghidrascript ที่สามารถเข้าถึง classtypeinfomanager ได้อย่างง่ายดายสำหรับโปรแกรมปัจจุบันหรือไม่? ลองขยายคลาส CPPCLASSANALYZERGHIDRASCRIPT แทน ghidrascript น่าเสียดายที่นี่เป็นไปได้สำหรับสคริปต์ที่เขียนใน Java เท่านั้น
คลิกขวาภายในหน้าต่าง decompiler ในฟังก์ชัน __thiscall ที่มี classtypeinfo อยู่จะมีการดำเนินการเพื่อเติมเต็มคลาส มันมีพฤติกรรมคล้ายกับการดำเนินการตามโครงสร้างการกระทำที่ยอมรับสมาชิกในชั้นเรียนจะถูกกำหนดผ่านการโทรไปยังฟังก์ชัน __thiscall คอลอื่น ๆ
สำหรับ GNU Binaries จะต้องสร้างการเก็บถาวรโครงการเพื่อให้ข้อมูลที่จำเป็นสำหรับการวิเคราะห์ แต่ละห้องสมุดที่มี RTTI แบบไดนามิกจะต้องได้รับการวิเคราะห์และคัดลอกลงในคลังเก็บของโครงการผ่าน TypeInFotree ก่อนที่จะวิเคราะห์โปรแกรม ในอนาคตจะมีการแจกจ่ายที่เก็บถาวรสำหรับ libstdc ++