メインコンテンツまでスキップ

WindowsでGhidraを動かす

· 約4分
hi120ki
Hiroki Akamatsu

OpenJDKの導入​

2022年JDK事情​

こちらの記事で紹介されているようにJDKは様々なベンダーから提供されるようになっています。

JDK、Oracle JDK、OpenJDK、Java SEってなに?

この中で多くの場合で配布されているのはビルド済みファイルで手作業でPATHを設定する必要があり面倒です。また更新も手作業にならざるを得ないため、自動化できるパッケージマネージャを使うことをおすすめします。

(推奨1) パッケージマネージャwingetでOpenJDKをインストール​

wingetツールを使用したアプリケーションのインストールと管理 - Microsoft

microsoft/winget-cli - GitHub

winget.run

Microsoft Store https://www.microsoft.com/p/app-installer/9nblggh4nns1 からインストールするのが推奨されています。

wingetが使えるようになれば以下のような各ベンダーから出ているJDKをインストールします。

winget install -e --id Microsoft.OpenJDK.17
winget install -e --id AdoptOpenJDK.OpenJDK.17

(推奨2) パッケージマネージャChocolateyでOpenJDKをインストール​

chocolatey.org

管理者権限でpowershellを起動し、Installing Chocolateyに載っているSet-ExecutionPolicyから始まるコマンドをコピペして実行します。

するとchocoコマンドが使えるようになり以下のような各ベンダーから出ているJDKをインストールします。

choco install oraclejdk
choco install microsoft-openjdk
choco install temurin

ojdkbuildパッケージは非推奨となりました ojdkbuild - chocolatey

(非推奨) インストーラーでOpenJDKをインストール​

各ベンダーの中でもMicrosoft OpenJDKとTemurinはwindowsインストーラーを提供しているので、PATHを手動で設定する必要はありません。

  • Microsoft OpenJDK

https://learn.microsoft.com/ja-jp/java/openjdk/download からmsiファイルをダウンロードして実行

  • Temurin

https://adoptium.net/temurin/releases/ からmsiファイルをダウンロードして実行

Ghidra の導入​

https://ghidra-sre.org/

Ghidraのダウンロード​

https://github.com/NationalSecurityAgency/ghidra/releases をブラウザで開き最新のバージョンのzipファイルghidra_<バージョン>_PUBLIC_<日付>.zipをダウンロードする

ghidra-github.jpg

Ghidraのファイルの解凍​

ダウンロードしたファイルを右クリックし、「すべて展開」を選択します

win-ghidra-extract.jpg

「展開」をクリックします

win-ghidra-extract-2.jpg

Ghidraの起動​

展開したフォルダの中の「ghidrarun.bat」をクリックしGhidraを起動します

win-ghidra-run.jpg

(注意) ここでWindows Defenderなどのアンチウイルスソフトが検知をする場合がありますが、製品の案内に従って実行を続行します

win-ghidra-def.jpg

(Windows Defenderの場合、「詳細情報」をクリックすることで「実行」ボタンが出てくるのでこれをクリックします)

win-ghidra-def2.jpg

User Areement​

User Areementが表示されるので「I Agree」をクリックします

win-ghidra-runned.jpg

Ghidraが起動しました

win-ghidra-runned2.jpg

(おまけ) Ghidraでのファイル読み込み​

起動後File→New Projectを選択​

ghidra-1.png

Non-shared projectを選択​

ghidra-2.png

適当なProject DirectoryとProject Nameを入力​

ghidra-3.png

Tool Chestの緑のアイコンをクリック​

ghidra-4.png

File→Import Fileから配布バイナリを選択​

ghidra-5.png

ghidra-6.png

ghidra-7.png

「analyze now?」にYes​

ghidra-8.png

Analysis OptionはデフォルトでOK​

ghidra-9.png

左の真ん中のSymbol TreeのFunctionsを展開しmainを選択​

ghidra-10.png

ghidra-11.png

真ん中に逆アセンブル結果,右に逆コンパイル結果が表示される​

ghidra-12.png