Skip to main content

Ghidra installation manager and Python library

Project description

GhidraCtl

PyPI version Publish status Lint Tests

A Python library and CLI tool to effortlessly install, manage, and automate Ghidra environments.

Install, update, and manage multiple Ghidra versions from the command line — or use it as an importable library in your Python tools.

Features

  • Install/update/uninstall multiple Ghidra versions side-by-side
  • Auto-detect and manage Java/JDK dependencies (Adoptium Temurin)
  • Cross-platform: macOS (ARM64 + x86-64), Linux, Windows
  • Rich terminal UI with progress bars and tables
  • Importable Python API for toolchain integration
  • Extension and settings management

Installation

pip install ghidractl

CLI Usage

# Install the latest Ghidra
ghidractl install

# Install a specific version
ghidractl install 11.3

# List installed versions
ghidractl list

# List all available versions
ghidractl list --all

# Set active version
ghidractl use 11.3

# Launch Ghidra GUI
ghidractl run

# Update to latest
ghidractl update

# Uninstall a version
ghidractl uninstall 11.2.1

# Print install path
ghidractl locate

Java Management

# Check Java status
ghidractl java check

# Install JDK via Adoptium
ghidractl java install

# Install a specific JDK version
ghidractl java install --version 17

# Manual install instructions
ghidractl java guide

Extensions

# List extensions
ghidractl ext list

# Install from ZIP
ghidractl ext install ./my-extension.zip

# Remove an extension
ghidractl ext uninstall MyExtension

Settings

# Backup Ghidra settings
ghidractl settings backup

# Restore from backup
ghidractl settings restore ghidra_settings_backup.zip

Configuration

# Show config
ghidractl config show

# Set GitHub token (for higher API rate limits)
ghidractl config set github_token ghp_your_token_here

Library API

import ghidractl

# Install Ghidra
path = ghidractl.install("latest")

# List available versions
versions = ghidractl.list_versions()

# List installed versions
installed = ghidractl.installed()

# Set active version
ghidractl.use("11.3")

# Get install path
path = ghidractl.get_path()

# Launch Ghidra
ghidractl.run()

# Java management
java = ghidractl.java.check()
ghidractl.java.install(version=21)

Requirements

  • Python 3.10+
  • Java/JDK (auto-installable via ghidractl java install)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ghidractl-0.1.2.tar.gz (31.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ghidractl-0.1.2-py3-none-any.whl (40.9 kB view details)

Uploaded Python 3

File details

Details for the file ghidractl-0.1.2.tar.gz.

File metadata

  • Download URL: ghidractl-0.1.2.tar.gz
  • Upload date:
  • Size: 31.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ghidractl-0.1.2.tar.gz
Algorithm Hash digest
SHA256 ba0c6d470a5c782dfca7d4bef625235c3aa39a651a0863093c62c48a441d146b
MD5 5068802d0a68d8bdb865732f302f3052
BLAKE2b-256 3e15f5346fc7b39fe4cd1b884c71d8105ca6acbea41e087e77962e76e0c06419

See more details on using hashes here.

Provenance

The following attestation bundles were made for ghidractl-0.1.2.tar.gz:

Publisher: publish.yml on monkeywave/ghidractl

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ghidractl-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: ghidractl-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 40.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ghidractl-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 e6f5a9d91ee9ba0fefa81f9cd3177a9b57ff196ff23ef3ed898bd21e1931db8e
MD5 4959d36d57fafb43445b38f93d996a00
BLAKE2b-256 ffe211e5560d519ea90c209fdec09e418759286222f83754fe24dfa0b2e2fc16

See more details on using hashes here.

Provenance

The following attestation bundles were made for ghidractl-0.1.2-py3-none-any.whl:

Publisher: publish.yml on monkeywave/ghidractl

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page