Skip to main content

Enables plugins for Ghidra implemented in python.

Project description

PyGhidra Decaf

Java-free Python plugin loading for Ghidra

Enables pure Python Ghidra plugins to be implemented by handling the boilerplate JPype glue code to connect the Java and Python side plugin implementations.

Prerequisites

  • Ghidra 11.0+ with PyGhidra installed (PyGhidra is included in the Ghidra distribution by default)
  • Python 3.10+

Installation

  1. Activate (or create) the venv that will be used to run ghidra
  2. Install pyghidra_decaf (pip install pyghidra_decaf)
  3. Run ghidra pyghidra --gui --install-dir /path/to/ghidra/install (for example ~/ghidra/ghidra_11_3_2_PUBLIC)
  4. You'll be prompted to enable a new plugin, confirm that. If not, open File -> Install Extensions and enable "Pyghidra Decaf"

Installing Decaf plugins

  1. Activate the venv you previously set up with pyghidra_decaf
  2. Install the python module for the Decaf plugin (e.g. pip install <your-decaf-plugin>)
  3. Run ghidra pyghidra --gui --install-dir /path/to/ghidra/install (for example ~/ghidra/ghidra_11_3_2_PUBLIC)
  4. You'll be prompted to enable a new plugin, confirm that. If not, open File -> Install Extensions and enable "Pyghidra Decaf"

Troubleshooting

Plugin doesn't appear in Ghidra after installation

  • Verify you're using Ghidra 11.0 or later. Older versions may not have PyGhidra bundled.
  • Rerun pyghidra --gui --install-dir /path/to/ghidra/install to trigger the bootstrap process.
  • Check that extension files were created: ls -la ~/.config/ghidra/*/Extensions/

ImportError: jpype not found

  • Ensure you're using the same Python virtual environment that Ghidra runs from. PyGhidra bundles JPype, but it must be loaded in the same venv context.
  • Verify venv activation: which python should point to your plugin venv, not system Python.

Java class not found: myplugin.plugin.MyPlugin

  • Verify the decaf.load entry point name matches your actual plugin class name.
  • The fully qualified name in the error message must match the first element of the tuple returned by your decaf_load() function.

For more detailed help, see the Plugin Development Guide and Architecture Guide in the main repository.

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

pyghidra_decaf-0.3.1.tar.gz (80.2 kB view details)

Uploaded Source

Built Distribution

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

pyghidra_decaf-0.3.1-py3-none-any.whl (37.5 kB view details)

Uploaded Python 3

File details

Details for the file pyghidra_decaf-0.3.1.tar.gz.

File metadata

  • Download URL: pyghidra_decaf-0.3.1.tar.gz
  • Upload date:
  • Size: 80.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pyghidra_decaf-0.3.1.tar.gz
Algorithm Hash digest
SHA256 ae4e7f51a6aea0d5ecd81aabc8c3c9e87ff9956446a8c63c34bb37dfecb47952
MD5 149770a756c160d0231b5fce5ebe0c73
BLAKE2b-256 ba1ab35e1d1edf6dcd3718642b5681e447c963b2108ff157091b5940ba0286fd

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyghidra_decaf-0.3.1.tar.gz:

Publisher: release.yml on nightwing-us/pyghidra-decaf

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

File details

Details for the file pyghidra_decaf-0.3.1-py3-none-any.whl.

File metadata

  • Download URL: pyghidra_decaf-0.3.1-py3-none-any.whl
  • Upload date:
  • Size: 37.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pyghidra_decaf-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 aa6317157a5eee836325008537137600bd80f1673e50eb8413051f7b32f252f5
MD5 90b00ff322e39ed943740a941cf6bba8
BLAKE2b-256 f4f72dffc54c7375330db2e616d6ece499e3cdf8ef6b82fce6515928f84fec25

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyghidra_decaf-0.3.1-py3-none-any.whl:

Publisher: release.yml on nightwing-us/pyghidra-decaf

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