Skip to content

Instantly share code, notes, and snippets.

@yifanlu
Last active August 2, 2024 04:46
Show Gist options
  • Save yifanlu/e9965cdb148b550335e57899f790cad2 to your computer and use it in GitHub Desktop.
Save yifanlu/e9965cdb148b550335e57899f790cad2 to your computer and use it in GitHub Desktop.
Ghidra.app launcher for OSX

Installing Ghidra as a self-contained OSX .app (without contaminating your system with having to install Java):

Prebuilt (9.0.2)

Download

Build your own

  1. Download and extract the launcher AppleScript template app below. Optionally modify Ghidra.app/Info.plist to your liking.
  2. Download the latest OpenJDK and extract it to Ghidra.app/jdk. Make sure Ghidra.app/jdk/Contents/Home/bin/java exists.
  3. Download the latest Ghidra and extract it to Ghidra.app/ghidra. Make sure Ghidra.app/ghidra/ghidraRun exists.
  4. Copy Ghidra.app to your Applications directory.

Note that the template .app is just a standard AppleScript generated .app. If you don't trust the binary, you can build your own with the provided AppleScript.

@devnoname120
Copy link

Can't you contribute the source code of the AppleScript?

@yifanlu
Copy link
Author

yifanlu commented May 13, 2019

Okay here you go. Contribute it.

set UnixPath to POSIX path of (path to me as text)
set JdkPath to UnixPath & "/jdk/Contents/Home/bin"
set GhidraRun to UnixPath & "/ghidra/ghidraRun"
do shell script "export PATH=" & (quoted form of JdkPath) & ":$PATH; " & (quoted form of GhidraRun)

@Tower450
Copy link

thanks you @yifanlu you are amazing

@Akathian
Copy link

Akathian commented Dec 6, 2020

Great tool

@matanbroner
Copy link

This is great, thank you so much

@dikim33
Copy link

dikim33 commented Sep 9, 2022

This still works great on Monterey. Thank you!

@EasyVector
Copy link

Works like a charm! Thank you!

@redthing1
Copy link

Just want to add that this works great on macOS Sonoma wit the latest Ghidra 11.x
At some point I would like to make a script that does all the packaging from a Ghidra release zip.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment