• Stars
    star
    200
  • Rank 195,325 (Top 4 %)
  • Language
    Dockerfile
  • License
    Apache License 2.0
  • Created over 5 years ago
  • Updated 4 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Ghidra Client/Server Docker Image

Malice Logo

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.45GB
blacktop/ghidra          10                  1.45GB
blacktop/ghidra          10-beta             1.4GB
blacktop/ghidra          9.2                 1.33GB
blacktop/ghidra          9.1                 1.18GB
blacktop/ghidra          9.0                 1.18GB

NOTE: tag beta is built from master

Getting Started

Client

On macOS

  1. Install XQuartz brew install xquartz
  2. Install socat brew install socat
  3. open -a XQuartz and make sure you "Allow connections from network clients" (in XQuartz > Preferences... > Security)
  4. Now add the IP using Xhost with: xhost + 127.0.0.1 or xhost + $(ipconfig getifaddr en0)
  5. Start socat socat TCP-LISTEN:6000,reuseaddr,fork UNIX-CLIENT:\"$DISPLAY\"
  6. 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 500m \
             -e MAXMEM=500M \           
             -e GHIDRA_USERS="root blacktop" \
             -v /path/to/repos:/repos \
             blacktop/ghidra server

Headless

$ docker run --init -it --rm \
             --name ghidra-headless \
             --cpus 2 \
             --memory 4g \
             -e MAXMEM=4G \
             -v `pwd`:/samples \
             --link ghidra-server \
             blacktop/ghidra:beta support/analyzeHeadless ghidra://ghidra-server:13100/Apple/12.4.1/ -import /samples/dyld_shared_cache -connect blacktop -p -commit "Loading Dyld."

Note To run just the server (and connect from other GUI clients etc) you must expose the ports

$ docker run --init -it --rm \
             --name ghidra-server \
             --cpus 2 \
             --memory 500m \
             -p 13100:13100 \
             -p 13101:13101 \
             -p 13102:13102 \
             -e MAXMEM=500M \
             -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

Black Background Issue

If the Ghidra opens in XQuartz with a black background, try closing XQuartz, executing defaults write org.xquartz.X11 enable_render_extension 0 in terminal. See issue #31 on XQuartz GitHub repo for more information.

Credits

License

Apache License (Version 2.0)

More Repositories

1

ipsw

iOS/macOS Research Swiss Army Knife
Go
1,757
star
2

docker-cuckoo

Cuckoo Sandbox Dockerfile
Shell
321
star
3

lporg

Organize Your macOS Launchpad Apps
Go
264
star
4

go-macho

Package macho implements access to and creation of Mach-O object files.
Go
194
star
5

docker-elasticsearch-alpine

Alpine Linux based Elasticsearch Docker Image
Shell
191
star
6

docker-elastic-stack

ELK Stack Dockerfile
Shell
190
star
7

darwin-xnu-build

XNU kernel, Kernel Collection and CodeQL build scripts
Shell
181
star
8

docker-bro

Bro IDS Dockerfile
Zeek
129
star
9

docker-zeek

Zeek IDS Dockerfile
Zeek
99
star
10

docker-idapro

IDA Pro Docker Image
Dockerfile
87
star
11

graboid

Clientless Docker Image Downloader
Go
81
star
12

docker-kibana-alpine

Alpine Linux based Kibana Docker Image
Dockerfile
73
star
13

go-apfs

APFS parser written in pure Go
Go
65
star
14

docker-kafka-alpine

Alpine Linux based Kafka Docker Image
Shell
64
star
15

docker-logstash-alpine

Alpine Linux based Logstash Docker Image
Dockerfile
50
star
16

docker-yara

Yara Dockerfile
YARA
49
star
17

seccomp-gen

Docker Secure Computing Profile Generator
Go
46
star
18

presentations

Slides and resources for talks I've given
HTML
44
star
19

docker-volatility

Volatility Dockerfile
Dockerfile
30
star
20

ipsw-diffs

IPSW Diffs
30
star
21

symbolicator

`ipsw` symbolication signatures
Python
25
star
22

language-yara

Yara syntax highlighting
24
star
23

ipsw-py

A Python library for the ipsw daemon API
Python
23
star
24

ghidra-app

Ghidra CI/CD to build and host a universal macOS Ghidra.app
Shell
23
star
25

go-arm64

Pure Go AARCH64 architecture disassembler
Go
20
star
26

go-dev

Golang Dev Env Dockerfile
Vim Script
17
star
27

vm-proxy

VBoxManage/vmrun proxy to allow communication from within a VM to the hypervisor running the VM.
Go
17
star
28

scifgif

Humorous image microservice for isolated networks
Go
17
star
29

yardens-sb-profs

Output from running Yarden's sandblaster on an iPhone15,2's iOS17 kernelcaches
16
star
30

partialzip

Partial Implementation of PartialZip in Go
Go
16
star
31

arm64-cgo

Golang bindings for the Binary Ninja Arm64 Disassembler.
C
14
star
32

atom-python-yapf

Atom.io plugin to format for Python files using Google's YAPF
CoffeeScript
13
star
33

darwin-webkit-build

WebKit CodeQL Databases
Shell
13
star
34

httpie

Docker image with httpie and jq installed
Makefile
12
star
35

lzfse-cgo

Go bindings for lzfse compression
C
11
star
36

dotfiles

My personal .files
Shell
10
star
37

docker-filebeat

Alpine Linux based Filebeat Docker Image
Shell
10
star
38

dyld-src-fixes

Just some fixes to dyld so you can build some of the utils
C++
10
star
39

kibana-plugin-builder

Malice Kibana Plugin Builder
Makefile
9
star
40

homebrew-tap

Blacktop's Homebrew Formulas
Ruby
9
star
41

language-bro

Bro syntax highlighting
8
star
42

go-vboxapi

Go interface to VirtualBox's remote API
Go
8
star
43

docker-kaitai

Kaitai Struct Docker Image
Python
7
star
44

docker-webkit

Dockerized WebKit Dev/Research Environment
Python
7
star
45

dbg

Docker gdb/lldb images
Makefile
7
star
46

go-dwarf

Package dwarf provides access to DWARF debugging information loaded from executable files, as defined in the DWARF 2.0 Standard at http://dwarfstd.org/doc/dwarf-2.0.0.pdf
Go
7
star
47

how-ya-doing

Monitor your Github repos activity
Go
7
star
48

get-latest-version-action

Get LATEST version Github Action
Dockerfile
7
star
49

swift-demangle-cgo

Golang bindings for the Swift Demangler.
C++
7
star
50

lzss

LZSS compression package for Go.
C
6
star
51

bottle-bomb

Homebrew Bottle Downloader
Go
6
star
52

disasster

Golang AARCH64 Disassembler
Go
6
star
53

docker-retdec

RetDec Dockerfile
Makefile
6
star
54

docker-images

List of all my docker images
6
star
55

frida-scripts

This'll be the year I finally learn Frida 🀞
JavaScript
5
star
56

wait-for-es

Wait until Elasticsearch become available.
Go
5
star
57

go-lzfse

Pure Go LZFSE compression library
C
5
star
58

ports

Blacktop's MacPorts Ports
Tcl
5
star
59

get-vine

Vine Video Downloader
Go
4
star
60

x86-cgo

Golang bindings for the Binary Ninja x86/x64 Disassembler.
C
4
star
61

barcode

Create barcodes (QR/Code128)
Go
3
star
62

vscode-terminal-highlighter

Visual Studio Code Extension to highlight words in integrated terminal
TypeScript
3
star
63

ios-pocs

iOS POCs and Ideas
C
3
star
64

async_wake

iOS 11.1.2 kernel exploit and PoC local kernel debugger by @i41nbeer
C
3
star
65

SwiftMachO

Swift MachO Parser
3
star
66

go-llvm-mc

Go wrapper for llvm-mc
Go
3
star
67

configs

Private Configs
2
star
68

dreadnought

Rust
2
star
69

sentry-quick-start

Sentry Docker Quick Start
Python
2
star
70

nur

nix user repository for Blacktop
Nix
2
star
71

app-icon

Generate App Icons
Go
2
star
72

clt

Command Line Tools
1
star
73

scoop-bucket

Scoop bucket for `ipsw` binaries
1
star
74

go-coresymbolication

CoreSymbolication Framework Go Wrapper
C
1
star
75

darwin-xnu

The Darwin Kernel
C
1
star
76

homebrew-chopshop

ChopShop homebrew formula
Ruby
1
star
77

go-termimg

Go terminal image package
Go
1
star
78

go-template

Go Project Template
Go
1
star
79

blacktop

1
star
80

fluxy

FLUX image generator TUI
Go
1
star