1

我正在从命令行以无头模式运行 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 中设置呢?

谢谢。

4

0 回答 0