Eclipseを使わずにGhidra Extensionをビルドする方法

Ghidraでは、Ghidra Extensionを作成して機能を拡張できます。 Ghidra Extensionは、使う度にScript Managerを通して呼び出すGhidra Scriptとは違い、Ghidraの起動時に自動的にロードされます。 このため、単にGhidra上で解析を効率化するための機能を実行するだけではなく、UIを拡張できます。

Ghidra Extensionのbuild.gradleにはEclipseに関する情報が書かれていますが、 Eclipseを使わずにGradleというビルドツールをコマンドラインから実行することでもビルド可能です。 環境変数GHIDRA_INSTALL_DIRに ビルド済みのGhidraがあるパスを指定し、gradleコマンドを実行してください。 git cloneして持ってきたままの状態のGhidraのリポジトリのパスを指定してもビルドできないので注意してください。

$ export GHIDRA_INSTALL_DIR=<Ghidraがあるディレクトリへの絶対パス>
$ gradle

また、環境変数GHIDRA_INSTALL_DIRは、gradleコマンドのPオプションに指定することもできます。

$ gradle -PGHIDRA_INSTALL_DIR=<Ghidraがあるディレクトリへの絶対パス>

上のコマンド例ではパスをexportしたり、コマンドのオプションに指定していますが、.bash_profileなどのシェルの設定ファイル内で環境変数として定義しておくことをおすすめします。 ビルドに成功していれば、./dist/以下にZIPファイルのExtensionができています。

Ghidraには、Extension開発の際に、テンプレートとして使うためのSkeleton Extensionが用意されています。 こちらもぜひ参考に見てください。