Я запускаю скрипт Python Ghidra в автономном режиме из командной строки, указывая мой сценарий в качестве preScript.
Например, ./analyzeHeadless project_path project_name -preScript pre.py -import my_exec_file
Я бы хотел установить HeadlessContinuationOption в этом сценарии.
Эквивалентом в префиксе Java будет:
import ghidra.app.util.headless.HeadlessScript;
public class Pre extends HeadlessScript {
@Override
public void run() throws Exception {
setHeadlessContinuationOption(HeadlessContinuationOption.ABORT);
}
}
Однако в питоне нет класса для наследования от HeadlessScript (и setHeadlessContinuationOption
в методе экземпляра этого абстрактного класса).Я просто пишу сценарий в глобальном масштабе.
Я пытался создать класс, подобный написанному на Java-скрипте, но ничего не создавал для него экземпляра.Я также пытался создать его экземпляр и сам вызвать run
и вызвать setHeadlessContinuationOption
для этого экземпляра в run
, но это не дает желаемого эффекта (опция abort игнорируется, а импорт файла exec продолжается).
Вот этот код (он не работает)
from ghidra.app.util.headless import HeadlessScript
class Pre(HeadlessScript):
def run(self):
self.setHeadlessContinuationOption(self.HeadlessContinuationOption.ABORT)
Pre().run()
Итак, как я могу установить setHeadlessContinuationOption(HeadlessContinuationOption.ABORT)
в preScript Python?
Спасибо.