docker-ghidra
Ghidra Client/Server Docker Image
Why?
Cuz installing Java on your Mac is gross. 😏
Dependencies
Image Tags
REPOSITORY TAG SIZE
blacktop/ghidra latest 1.25GB
blacktop/ghidra 9.0 1.25GB
Getting Started
Client
On macOS
- Install XQuartz
$ brew cask install xquartz
- Install socat
$ brew install socat
open -a XQuartz
and make sure you "Allow connections from network clients"- Now add the IP using Xhost with:
xhost + 127.0.0.1
orxhost + $(ipconfig getifaddr en0)
- Start socat
$ socat TCP-LISTEN:6000,reuseaddr,fork UNIX-CLIENT:\"$DISPLAY\"
- Start up Ghidra
$ docker run --init -it --rm \
--name ghidra \
--cpus 2 \
--memory 4g \
-e MAXMEM=4G \
-e DISPLAY=host.docker.internal:0 \
-v /path/to/samples:/samples \
-v /path/to/projects:/root \
blacktop/ghidra
Server
$ docker run --init -it --rm \
--name ghidra-server \
--cpus 2 \
--memory 4g \
-e GHIDRA_USERS="root blacktop"
-v /path/to/repos:/repos \
blacktop/ghidra server
TODO
- Figure out how to add
--network none
😉 - Figure out how to add
--read-only
Issues
Find a bug? Want more features? Find something missing in the documentation? Let me know! Please don't hesitate to file an issue
Credits
- NSA Research Directorate https://www.ghidra-sre.org/
License
Apache License (Version 2.0)