简介

Ghidra 是由美国国家安全局研究局创建和维护的软件逆向工程 (SRE) 框架 。该框架包括一套功能齐全的高端软件分析工具,使用户能够在包括 Windows、macOS 和 Linux 在内的各种平台上分析编译代码。功能包括反汇编、汇编、反编译、绘图和脚本,以及数百个其他功能。Ghidra 支持多种处理器指令集和可执行格式,并且可以在用户交互和自动化模式下运行。用户还可以使用 Java 或 Python 开发自己的 Ghidra 扩展组件和/或脚本。

安装

下载地址:https://github.com/NationalSecurityAgency/ghidra

在github里下载后进入文件夹,安装java环境:jdk-24版本 然后运行工具ghidraRun.bat 运行后会出现这个黑色的框框

将我们准备好的jdk文件根目录复制上去,然后回车

将我们准备好的jdk文件根目录复制上去,然后回车

如果出现这个界面的话就是配置成功 如图所示,我们只需保留主程序窗口就可以了

如何使用

首先我们创建一个project(上图我是已经新建了一个叫做demo01的项目)

选择Non-Shared Project (另一个选择Shared Project是会在本地监听一个端口,方便分享)

接下来填好路径和项目名就可以了

导入要分析的二进制文件,,或者直接将文件拖拽进工程,都选择默认选项就行

打开之后是这个界面,可以点击options选择添加外部库

得到一个程序的信息

.双击这个工程的exe程序,或者将程序拖入Tool Chest中小龙(Tool Chest可以自己添加工具)

选择yes

按照默认的来,选择Analyze

等待一会,出现以下界面就打大功告成!

怎么找到函数

我们可以找到左边的functions,找到entry(当然有些程序直接有main,或者_start等关键字) 通过Filter搜索可以更快一点,双击即可再右边看到entry代码