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.0.tar.gz (63.3 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.0-py3-none-any.whl (38.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pyghidra_decaf-0.3.0.tar.gz
  • Upload date:
  • Size: 63.3 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.0.tar.gz
Algorithm Hash digest
SHA256 ee5056107ee474412b0fc0e012a27bfc6bed33fec2326c2fb179fa4b4f72e1cc
MD5 60cf13b42a21161388a24e6caba2eea8
BLAKE2b-256 83069c3c0c40ddfa596b73b15a767e4466d253b08948b4e9739a1347003e91f3

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyghidra_decaf-0.3.0.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.0-py3-none-any.whl.

File metadata

  • Download URL: pyghidra_decaf-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 38.2 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 da17270f986579ab212896cfad0de746d09e61887a06697bd48d1e79f6504b3e
MD5 1aa0964383a33b7ffd00be5e27be6034
BLAKE2b-256 99f63aaaabe1aff248f00b05ff984b4d1e1bba25b9c274e5002ac81ac494fa15

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyghidra_decaf-0.3.0-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