我正在从命令行以无头模式运行 Ghidra python 脚本,将我的脚本指定为 preScript。
例如./analyzeHeadless project_path project_name -preScript pre.py -import my_exec_file
我想在该脚本中设置 HeadlessContinuationOption。
Java preScript 中的等价物将是:
import ghidra.app.util.headless.HeadlessScript;
public class Pre extends HeadlessScript {
@Override
public void run() throws Exception {
setHeadlessContinuationOption(HeadlessContinuationOption.ABORT);
}
}
然而,在 python 中,没有从 HeadlessScript 继承的类(并且setHeadlessContinuationOption
在该抽象类的实例方法中)。我只是在全局范围内编写脚本。
我试图创建一个类似于 Java 脚本编写方式的类,但没有实例化它。我也尝试实例化它并调用run
自己并调用setHeadlessContinuationOption
该实例run
,但它没有达到预期的效果(中止选项被忽略并继续导入 exec 文件)。
这是这段代码(不起作用)
from ghidra.app.util.headless import HeadlessScript
class Pre(HeadlessScript):
def run(self):
self.setHeadlessContinuationOption(self.HeadlessContinuationOption.ABORT)
Pre().run()
那么如何setHeadlessContinuationOption(HeadlessContinuationOption.ABORT)
在 python preScript 中设置呢?
谢谢。