简介
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代码

