Ghidra 是由美国国家安全局(NSA)研究部门开发的软件逆向工程(SRE)套件,用于支持网络安全任务。包括一套功能齐全的高端软件分析工具,使用户能够在各种平台 (Windows、Mac OS 和 Linux) 分析编译后的代码。功能包括反汇编,汇编,反编译,绘图和脚本,以及数百个其他功能。和 IDA 一样,Ghidra 支持各种处理器指令集和可执行格式,用户还可以使用公开的 API 开发自己的 Ghidra 插件和脚本。不同的是,IDA 是收费的,而 Ghidra 是免费开源的。
Ghidra 的压缩包可以在 官网 上下载到,截至目前最新版本为 9.2,官方推荐使用的 JDK 版本为 11+。配置好 JAVA 环境后,解压压缩包即可。如电脑上有多个 JAVA 环境,可以在 Ghidra 文件夹下的 support/launch.properties 文件中修改 JAVA_HOME_OVERRIDE 的值。
在 Windows 上运行 ghidraRun.bat,在 Linux/unix/macOS(OS X) 上运行 ghidraRun 启动。Ghidra 操作指南位于解压文件夹下的 docs/CheatSheet.html。
Ghidra 启动示意图:

IDA 只要把要分析的文件拖进去即可,而 Ghidra 则不同,Ghidra 是基于项目 (Project) 设计的,个人感觉这一点应该是为了方便团队协作而设计的。要开始使用 Ghidra 需先创建一个项目,点击 File->New Project->Non-Shared Project->next->选择项目文件夹并填写项目名称 ->Finish。
如图,我创建了一个名为 test 的项目

这个时候,就可以把要分析的文件拖进去了,也可以通过File->Import File->导入想要分析的文件,点击OK即可。

Ghidra 在加载完成后,会显示该文件的基础信息,如架构、大小、MD5值等

然后就可以用 Ghidra 自带的 CodeBrowser 打开目标文件了,在目标文件名上右击 ->Open with -> CodeBrowser
