I have a plugin that I want to install for Ghidra
.
The current way to install the plugin is to go to the file->Install Extension
in the project window, and add my plugin there. However, in my scenario, I don't have an access to the GUI and I want to deploy Ghidra
for Headless Analysis.
For some reason, just copying the plugin files to <ghidra_home>\Ghidra\Extensions
doesn't do the trick, and it looks like it only partially installs the plugin, and only the GUI way does the complete job.
Any idea how can I programmatically install plugins for Ghidra?
.zip
into the<GhidraInstallDir>/Ghidra/Extensions
folder should be enough. And it explicitly states that this is the way to go for full headless installs. What do you mean by "only partially installs the plugin"?from cppclassanalyzer.utils import CppClassAnalyzerUtils
successes, but it is not fully initalized becauseCppClassAnalyzerUtils.getManager(currentProgram)
returns None. Only a full isntallation by the GUI makes it return the class..plugin_not_activated
, but the changes in that branch aren't quite clear how this would fix it.CppClassAnalyzerUtils.getManager(currentProgram)
returns the Service and this Service is only available for within the GUI (specifically in a tool IIRC). I think this would be worth opening on issue aboutGhidraTool.java
to see if there is some obvious way to do this headless