在没有 GUI 的情况下安装 Ghidra 插件

逆向工程 吉德拉 插入
2021-06-22 04:43:36

我有一个要安装的插件Ghidra

当前安装插件的方法是转到file->Install Extension项目窗口中的 ,然后在那里添加我的插件。但是,在我的场景中,我无法访问 GUI,我想Ghidra为 Headless Analysis进行部署

出于某种原因,仅仅将插件文件复制到<ghidra_home>\Ghidra\Extensions并不能解决问题,而且看起来它只是部分安装了插件,只有 GUI 方式才能完成整个工作。

知道如何以编程方式为 Ghidra 安装插件吗?

1个回答

按照官方文件解压扩展.zip<GhidraInstallDir>/Ghidra/Extensions文件夹应该是足够的。

正如您在评论中指定的,这是关于Ghidra C++ 类和运行时类型信息分析器 的特定插件,它只有在通过"New extension plugins detected. Would you like to configure them?"启动 Ghidra GUI的初始对话框后才能工作

此对话框是该方法的一部分,ghidra.framework.project.tool.GhidraTool#checkForNewExtensions实际安装过程发生ghidra.framework.project.tool.GhidraTool#addInstalledExtensions

问题是,无头加工过程中没有可用的工具,即state.toolnull,似乎这些方法不被预期在一具无头上下文中运行。我不太明白是什么让它在之后工作,但总的来说,我有理由相信这是特定插件的问题,而且它需要ServiceManager为分析器提供服务(这应该在解压后的无头模式)。

所以这是这个特定插件的一个问题,它在一个已经存在的问题中有所暗示