このプロジェクトは終末期に達し、もはや維持されていません。 Ghidraは現在、RTTI分析とクラスの再建のためのスクリプトを提供しています。これらのスクリプトを使用して改善する必要があります。
ドキュメントの完全に構築されたリンクされたバージョンは、https://astrelsky.github.io/ghidra-cpp-class-analyzerで入手できます。
選択した端末で次のコマンドを実行します。
gradle buildExtension
完了すると、出力はDISTフォルダーに配置されます。
アーカイブを選択した宛先フォルダーに抽出します。 Ghidraを起動し、プロジェクトマネージャーからfile->Install Extensions...ウィンドウの右上隅近くの +アイコンをクリックします。抽出されたghidra-cpp-class-analyzerフォルダーのパスを選択し、[OK]を選択します。 Ghidraを再起動した後、コードブラウザーを開き、 file->Configure...->ExperimentalとClassTypeInfoManagerPluginを選択します。コードブラウザーを再起動して、アナライザーを更新します。

- ネストされたクラス - 基本クラス - 要約クラス - 仮想クラス - 仮想抽象クラス
現在のプログラムのためにclasstypeinfomanagerに簡単にアクセスできるGhidRaScriptを作成したいですか? ghidrascriptの代わりにcppclassanalyzerghidrascriptクラスを拡張してみてください。残念ながら、これは現在、Javaで書かれたスクリプトでのみ可能です。
clasStypeinfoが存在する__thiscall関数のdecompilerウィンドウ内を右クリックするには、クラスに記入するアクションが含まれます。それは、他の__thiscall関数への呼び出しを介してクラスメンバーが決定されることを受け入れる、フィルアウト構造アクションと同様に動作します。
GNUバイナリの場合、分析に必要なデータを提供するには、プロジェクトアーカイブを作成する必要があります。動的なRTTIを含む各ライブラリは、プログラムを分析する前に、TypeInFotreeを介してプロジェクトアーカイブに分析してコピーする必要があります。将来、アーカイブはlibstdc ++用に配布されます。