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