Ghidra は NSA が公開しているオープンソースのリバースエンジニアリングツール。
Windows/Mac/Linux のマルチプラットフォーム。
Java ベースのツールで、インストールは特に難しいことはないのだけど、記録を兼ねて。
調査
公式ページに、
https://ghidra-sre.org/
インストールガイドのリンクがあるのでそのページを見る
https://htmlpreview.github.io/?https://github.com/NationalSecurityAgency/ghidra/blob/stable/GhidraDocs/InstallationGuide.html
このドキュメントによると、インストールは展開するだけ。
ではダウンロード。ここから落とす。
ghidra_10.2.3_PUBLIC_20230208.zip
をダウンロードして展開しました。
該当ディレクトリに移って、実行してみる
$ ./ghidraRun
以下のように出たので一回終了
******************************************************************
JDK 17+ (64-bit) could not be found and must be manually chosen!
******************************************************************
Enter path to JDK home directory (ENTER for dialog):
Opening selection dialog...
Not a valid JDK home directory. Directory not specified!
Enter path to JDK home directory (ENTER for dialog):
JDK のインストール
jdk は以下のようなものを使っていたので
$ java --version
openjdk 11.0.18 2023-01-17
OpenJDK Runtime Environment (build 11.0.18+10-post-Ubuntu-0ubuntu122.04)
OpenJDK 64-Bit Server VM (build 11.0.18+10-post-Ubuntu-0ubuntu122.04, mixed mode, sharing)
Ubuntuパッケージにはどのようなものがあるかな?
$ sudo apt-cache search openjdk
default-jdk-doc - 標準的な Java または Java 互換の開発キット (ドキュメンテーション)
default-jdk-headless - Standard Java or Java compatible Development Kit (headless)
default-jre - 標準的な Java または Java 互換のランタイム
default-jre-headless - 標準的な Java または Java 互換のランタイム (ヘッドレス)
openjdk-11-dbg - OpenJDK ベースの Java ランタイム (デバッグシンボル)
openjdk-11-doc - OpenJDK Development Kit (JDK) documentation
openjdk-11-jdk - OpenJDK Development Kit (JDK)
openjdk-11-jdk-headless - OpenJDK Development Kit (JDK) (headless)
openjdk-11-jre - OpenJDK Java ランタイム - Hotspot JIT 版
openjdk-11-jre-headless - OpenJDK Java ランタイム - Hotspot JIT 版 (ヘッドレス)
openjdk-11-source - OpenJDK Development Kit (JDK) source files
.
.
.
iopenjdk-17-jdk - OpenJDK Development Kit (JDK)
.
.
.
openjdk-18-jdk - OpenJDK Development Kit (JDK)
.
.
.
openjdk-19-jdk - OpenJDK Development Kit (JDK)
.
.
.
なるほど。今回は openjdk-190-jdk をインストールすることにしました。
$ sudo apt install openjdk-19-jdk
Ghidra を起動する
インストールが終わったので改めて
$ ./ghidraRun