当前位置: 首页 > article >正文

Ghidra无头模式(自动化批处理执行重复性任务)

Ghidra无头模式(自动化批处理执行重复性任务)

与Ghidra GUI探索单个项目中的单个文件不同,Ghidra headless analyzer(Ghidra无头分析器)更加适合批处理和用脚本控制Ghidra。

(一)启动analyzeHeadless
analyzeHeadless 位于ghidra support路径下(ghidra_11.0.1_PUBLIC\support\analyzeHeadless )。如下图所示,为执行analyzeHeadless 后的输出结果。
在这里插入图片描述
(二)通过analyzeHeadless,新建Ghidra项目
在无头模式下,如果项目不存在,则会自动新建一个项目,也可以通过参数指定项目地址。
下面的命令将在D:\GhidraProject目录中打开或者新建test项目

analyzeHeadless D:\GhidraProject test

在这里插入图片描述

(三)通过analyzeHeadless,将文件导入项目
在无头模式中,需要指定参数-import选项和要导入的文件名称。
通过指定import参数,导入D:\GhidraProject\importFile1文件。

analyzeHeadless D:\GhidraProject test -import D:\GhidraProject\importFile1

通过指定import参数,导入D:\GhidraProject\impor中所有文件。

analyzeHeadless D:\GhidraProject test -import D:\GhidraProject\import

在这里插入图片描述
在这里插入图片描述

(四)通过analyzeHeadless, 自动分析文件、保存以及退出。
在无头模式下,自动分析和保存是默认发生的,因此我们在上述的命令中其实已经完成该步骤。

analyzeHeadless D:\GhidraProject test -import D:\GhidraProject\importFile1

如果不想自动分析文件,可以通过指定参数-noanalysis

analyzeHeadless D:\GhidraProject test -import D:\GhidraProject\importFile1 -noanalysis

(五)analyzeHeadless中,其他的选项和参数
(1)项目文件相关:

  • -log logfileparh
    修改默认日志文件路径。
  • -overwrite
    重复导入同一个文件,覆盖原有内容。
  • -readOnly
    只考虑导入文件,不保存至项目中。
  • -deleteProject
    不保存新建项目,分析执行完成后将会删除当前项目。
  • -recursive
    递归处理子目录,如:文件导入时。

(2)分析相关:

  • -noanalysis
    只加载不分析导入文件。

  • -analyTimeoutPerfile seconds
    指定一个以秒为单位的超时时间。

  • -processor languageID和-cspec compilerSpecID
    自定义选择语言和编译器规范,在无头模式下,允许在使用-processor 选项时,不使用-cspec;不能在不使用-processor 选项时,使用-cspec

  • -loader loadername
    指定GHidra的加载器模块,具体内容可查看support\analyzeHeadlessREASDME.html

  • -max-cpu number
    指定无头模式下使用的cpu核数

(3)脚本相关:

无头模式下最强大的运用莫过于和GHidra脚本的相关联。

  • -process [project_file]
    需要通过脚本处理的文件(而不是导入文件),如果没有指定,则处理项目中所有的文件。
  • -scripPath “path[;path2…]”
    扩展脚本文件搜索路径,多个路径需要使用分号进行分隔。
  • -preScript
    该选项指定在分析前运行的脚本。
  • -postScript
    该选项指定在分析后运行的脚本。
  • -propertiesPath
    该选项指定与脚本关联的任何属性文件的路径。
  • -okToDelete
    指定该选项后,允许无头模式下删除文件。

(六)无头模式和脚本联动示例

任务:针对D:\GhidraProject目录下中test项目中的每个文件,在分析完成后执行D:\scriptProject中的testScript脚本,限制cpu核为8,。

analyzeHeadless  D:\GhidraProject test -process -scriptPath "D:\scriptProject"  -postScript testScript -max-cpu 8

http://www.kler.cn/a/381407.html

相关文章:

  • 基于springboot+vue实现的农产品物流系统
  • 基于matlab的语音识别系统
  • 【ArcGIS】绘制各省碳排放分布的中国地图
  • 【MySQL死锁一】
  • ES海量数据插入如何优化性能?
  • 《TCP/IP网络编程》学习笔记 | Chapter 1:理解网络编程和套接字
  • Set,Map课后练习
  • 【Leecode】Leecode刷题之路第42天之接雨水
  • Docker Remote API TLS 认证_docker远程接口未授权访问漏洞怎么解决
  • C++算法练习-day36——513.找树左下角的值
  • 语言模型的评测
  • 推荐!一些好用的VSCode插件
  • 【前端基础】Flex布局
  • celery加速爬虫 使用flower 可视化地查看celery的实时监控情况
  • C++和JAVA中的sort详解
  • QML项目实战:自定义Combox
  • vue-router+element-plus实现左边侧边栏+右边内容
  • 【2024最新版Kotlin教程】Kotlin第一行代码系列第三课-流程控制
  • 解决 Spring 异步处理中的 JDK 动态代理问题及相关错误分析
  • CCS下载安装(以12.3.0版本为例)
  • 学习threejs,导入OBJ格式的模型
  • BackTrader-Commission 06
  • 十四届蓝桥杯STEMA考试Python真题试卷第二套第五题
  • fpga引脚约束问题
  • springboot集成onlyoffice(部署+开发)
  • 风宇博客全站HTTPS配置