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

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.mrgr.cn/news/65935.html

相关文章:

  • 探索不同的VGG网络
  • 基于python flask的知乎问答文本分析与情感预测系统
  • 什么是人工智能学习框架?——人工智能技术科普指南
  • sparkSQL面试题
  • el-table 滚动条重置 手动控制滚动条
  • 软件测试学习笔记丨SeleniumPO模式
  • Template Method(模板方法)
  • (八)关于InternVL2的优化加速——如何提高三倍的推理速度
  • 基于SpringBoot的母婴商城的设计与实现
  • 面试“利器“——微学时光
  • MySQL45讲 第十一讲 怎么给字符串字段加索引?
  • 责任链模式 Chain of Responsibility
  • 【指南】这款安全数据交换系统 架构全面创新优化
  • 分类算法——逻辑回归 详解
  • github.com port 22
  • Spring:Bean(创建方式,抽象继承,工厂Bean,生命周期)
  • H5开发指南|掌握核心技术,玩转私域营销利器
  • ES + SkyWalking + Spring Boot:日志分析与服务监控(三)
  • 数据结构————链表
  • MODBUS-TCP全解:有这一篇就够了
  • IP SSL证书
  • 2024年CISSP认证考试通关秘籍:备考方法与实战经验分享
  • idea java 项目右键new file时 为什么是 kotlin class 不是普通class
  • CDGP|数据资产入表:解锁数据价值,驱动数据要素流通的关键引擎
  • Memento 备忘录模式
  • 路径规划 | ROS中多个路径规划算法可视化与性能对比分析