Ghidra Python - 取消反编译任务

逆向工程 反编译 Python 吉德拉
2021-06-24 20:31:33

在 Ghidra Python 中反编译函数的方法是:

    decomp = DecompInterface()
    decomp.openProgram(currentProgram)

    decompile = decomp.decompileFunction(func, 1000, monitor)

但是,在某些情况下,可能由于错误或极端情况,反编译所需的时间比预期的要多得多。

关于如何在 Ghidra Python 中使用任何类型的超时取消反编译任务的任何想法?我知道这在 GUI 中是可能的。

1个回答

您已经根据文档将异常传递1000给了decompileFunction如果需要更多时间,则应该抛出异常。但是,超时以秒为单位,您将其设置为相当高的值 - 可能假设它在. 更改并检查是否会在时间过去后异常取消。ms1

或者,您也可以使用monitor传递给decompileFunction方法对象它包含cancel()可以取消传递给它的操作的函数。您可以在此处阅读有关此对象的更多信息