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?
.zipinto the<GhidraInstallDir>/Ghidra/Extensionsfolder 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"? – Florian Magin Aug 18 '21 at 13:33from cppclassanalyzer.utils import CppClassAnalyzerUtilssuccesses, but it is not fully initalized becauseCppClassAnalyzerUtils.getManager(currentProgram)returns None. Only a full isntallation by the GUI makes it return the class.. – macro_controller Aug 18 '21 at 15:14plugin_not_activated, but the changes in that branch aren't quite clear how this would fix it. – Florian Magin Aug 18 '21 at 15:50CppClassAnalyzerUtils.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 about – Florian Magin Aug 18 '21 at 15:57GhidraTool.javato see if there is some obvious way to do this headless – Florian Magin Aug 19 '21 at 07:51