指定在 Ghidra 无头模式下执行哪些分析

逆向工程 吉德拉
2021-06-15 14:07:36

基本上,无头模式下的 Ghidra 分为三个阶段:preScript、分析和 postScript。

前/后脚本是扩展GhidraScript编写的,而分析脚本扩展了AbstractAnalyzer类。

在无头模式下运行 Ghidra 时,您可以指定要运行的前/后脚本(-preScript-postScript选项)。

我的问题是:我如何选择要执行的分析?

例如,如果我运行此命令:

./analyzeHeadless /tmp test -import ~/Downloads/test.elf -scriptPath ~/ghidra_scripts/ -postScript TestScript.java
[...]

INFO  -----------------------------------------------------
    ARM Constant Reference Analyzer           14.667 secs
[...]
    Subroutine References - One Time           0.000 secs
-----------------------------------------------------
     Total Time   86 secs
-----------------------------------------------------
 (AutoAnalysisManager)  

如何排除ARM Constant Reference Analyzer并添加另一个分析?

1个回答

这个有可能。您可以在prescript. -结帐这个功能setAnalysisOptionGhidraScript类。你也可以看看@这个示例脚本。

因此,在您的情况下,您可以执行以下操作:

from ghidra.app.script import GhidraScript
setAnalysisOption(currentProgram, "ARM Constant Reference Analyzer", "false")