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が用意されています。 こちらもぜひ参考に見てください。