Ghidra简介及安装使用
Ghidra简介
Ghidra 是由美国国家安全局(NSA,National Security Agency)的研究理事会为 NSA 的网络安全任务开发的软件逆向工程(SRE)框架,它有助于分析恶意代码和病毒等恶意软件,并可以让网络安全专业人员更好地了解其网络和系统中的潜在漏洞。
Ghidra 特性:
包含了一套软件分析工具,用于分析各种平台上的编译代码,包括 Windows、macOS 和 Linux。
功能包括反汇编、汇编、反编译、图形和脚本执行,以及数百个其它功能。
支持各种处理器指令集和可执行格式,可以在用户交互和自动模式下运行。
用户可以使用公开的 API 开发自己的 Ghidra 插件组件与脚本。
Ghidra安装使用
第一步:安装JDK-17 64位版本。
Ghidra是由Java语言编写的,所以首先需要安装jdk环境。
Oracle-jdk官网下载地址:
https://download.oracle.com/java/17/latest/jdk-17_windows-x64_bin.zip
第二步:下载并解压缩Ghidra对应的release压缩包。
GitHub下载地址:
https://github.com/NationalSecurityAgency/ghidra
从GitHub上直接下载release版本即可。
第三步:启动Ghidra
Linux:./ghidraRun
Windows:ghidraRun.bat
可在support/launch.properties配置中指定JAVA_HOME配置,如下所示:
JAVA_HOME_OVERRIDE=D:\Program Files\Java\jdk-17.0.7
启动后进入Ghidra主页面,如下图示:

Ghidra是基于项目设计的,首先点击File -- New Project -- Non-Shared Project -- next,选择项目路径并输入项目名称后,点击Finish即可创建完成。如下图示:

创建完项目后,点击File -- Import File导入需要分析的文件,或者直接拖至此窗口也可。
Ghidra加载完成后,会显示文件的基础信息,如架构、大小、md5值等;
然后,直接双击要分析的文件或者选中之后点击上方龙头图标(CodeBrowser),第一次打开是Ghidra会提示是否要分析,选择yes,直接Analyze即可。
然后,进入CodeBrowser窗口,如下图示:

CodeBrowser窗口介绍:
窗口 | 作用 |
---|---|
Listing | 反汇编窗口 |
Program Trees | 主要显示程序头部以及各个段; |
Symbol Tree | 符号树窗口,主要显示导入表(Imports)、导出表(Exports)、函数(Function)、标签(Labels)、类(Classes)以及命名空间(Namespaces) |
Data Type Manager | 数据类型管理器窗口,用于展示各种数据类型 |
Decompile | 反编译窗口 |
Console | 控制台窗口 |