我阅读了无头分析器的文档。它用于对现有二进制文件进行分析。我知道该-postscript
标志允许进入分析脚本。我有一个运行良好的 java 脚本。但是,我想使用 python 3 进行分析。我想像这样运行:
./analyzeHeadless ghidra-project-directory -import binary-file -postscript yourpythonscript
是否可以运行 python 脚本进行分析?另外,是否有任何可用的文档可以做到这一点?
编辑:
我制作了一个以下脚本,它运行良好(但它给我没有发现 DecompInterface 的错误):
import ghidra.app.util.headless.HeadlessScript; import ghidra.app.decompiler.ClangNode; import ghidra.app.decompiler.ClangToken; import ghidra.app.decompiler.ClangLine; import ghidra.app.decompiler.ClangTokenGroup; import ghidra.app.decompiler.DecompInterface; import ghidra.app.decompiler.DecompileResults; import ghidra.program.model.address.Address; import ghidra.program.model.listing.CodeUnit; import ghidra.program.model.listing.Function; import ghidra.program.model.listing.FunctionIterator; import ghidra.program.model.listing.InstructionIterator; import ghidra.program.model.listing.Program; import ghidra.program.model.listing.Variable; import ghidra.program.model.pcode.HighFunction; import ghidra.program.model.pcode.HighSymbol; import ghidra.program.model.pcode.HighVariable; import ghidra.program.model.pcode.LocalSymbolMap; import ghidra.program.model.pcode.PcodeOp; import ghidra.program.model.pcode.Varnode; import ghidra.program.model.symbol.Symbol; import ghidra.program.model.symbol.Reference; import ghidra.program.model.symbol.ReferenceIterator; import ghidra.util.task.ConsoleTaskMonitor; args = getScriptArgs() print(args) p = currentProgram print(p) filename = "/projects/zephyr/Ruturaj/ghidra_learning/" + p.getName() + ".txt" print(filename) #di = DecompInterface() #print(di)