Skip to content

Ghidra 12.1 support#108

Merged
sei-eschwartz merged 5 commits into
CERTCC:mainfrom
sei-eschwartz:ghidra-12.1
May 15, 2026
Merged

Ghidra 12.1 support#108
sei-eschwartz merged 5 commits into
CERTCC:mainfrom
sei-eschwartz:ghidra-12.1

Conversation

@sei-eschwartz

@sei-eschwartz sei-eschwartz commented May 15, 2026

Copy link
Copy Markdown

Summary

  • Add Ghidra 12.1 to CI build matrices and supported versions
  • Fix compilation failure: Jython is now a separate extension in Ghidra 12.1, so its bundled Guava (org.python.google.common.base.Verify) is no longer on the classpath. Three files using that import were switched to com.google.common.base.Verify, which the rest of the codebase already used.

Test plan

  • Build passes against Ghidra 12.1 (GHIDRA_INSTALL_DIR=~/Ghidra/ghidra_12.1_PUBLIC ./gradlew install)
  • Build passes against Ghidra 12.0.4 (backward compatibility)
  • CI matrix builds for all Ghidra versions

edmcman added 5 commits May 15, 2026 17:12
Jython is now a separate extension in Ghidra 12.1, so its bundled
Guava (org.python.google.common.base.Verify) is no longer on the
classpath. Switch three files to use com.google.common.base.Verify
instead, which was already the import used by the rest of the codebase.
Ghidra 12.1 introduced GhidraSerialFilterFactory which calls
ObjectInputFilter.Config.setSerialFilterFactory() during
Application.initializeApplication(). This can only be called once per
JVM, so test environments that call initializeApplication() crash with
IllegalStateException: Cannot replace filter factory. Set the
jdk.serialFilterFactory system property at JVM startup for 12.1+ so
Ghidra finds its factory already installed.
@sei-eschwartz sei-eschwartz merged commit a7f58cb into CERTCC:main May 15, 2026
26 checks passed
@sei-eschwartz sei-eschwartz deleted the ghidra-12.1 branch May 15, 2026 23:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants