前言
大家好,好久不见,今天想和大家来聊一聊Ghidra。一款可以与IDA媲美的逆向分析软件。Ghidra是由美国国家安全局(NSA)研究部门开发的软件逆向工程(software reverse engineering,SRE)套件,此软件目前已经开源。
你可以通过上述网址去访问它,但是如果要下载Ghidra,你需要去Github,如果你无法访问Github进行下载,可以在公众号后台回复:Ghidra 来获取软件的安装包。
环境依赖
- Java17运行环境(JDK)
安装流程
-
将下载的压缩包解压到安装的位置,这里我解压到了我的D盘目录下
-
解压缩后,双击
ghidraRun.bat
文件进行安装
-
打开后,控制台中会提示输入
JDK
的安装路径(如果你和我一样,没有设置java的环境变量)
-
随后会弹出用户许可协议,单击
I Agree
即可
-
稍等几秒钟,Ghidra的初始界面便打开了,因为是第一次使用,所以它会提示没有可使用的项目
创建项目
-
在初始界面左上角选择
File
->New Project...
(也可以使用快捷键Ctrl+N
)
-
选择
Non-Shared Project
,单击Next
-
设置项目的保存路径和项目的名称,设置完成后点击
Finish
即可
导入项目
-
可以选择左上角的
File
->Import File...
(也可以直接将文件拖拽进Ghidra中)
-
这里我用我自己在
Visual Studio
中编写的求累加和的程序为例,编译完成后放入Ghidra中
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i = 0;
int sum = 0;
for (i = 1; i < 10; i++)
{
sum = sum + i;
}
printf("1~10的累加和为:%d\n", sum);
system("pause");
return 0;
}
-
会显示反编译程序(上述累加求和程序)的相关信息,单击
OK
按钮即可【每个选项更详细的内容会在后续文章更新,这次只学习使用流程即可,不要有太大压力】
-
完成上述步骤后,Ghidra会进行自动分析,等待一段时间(取决于反编译软件的复杂程度),Ghidra会显示出反编译软件的相关信息
打开项目
-
将反编译的软件拖拽进Ghidra的CodeBrowser(左上角的龙图标)
-
首次打开,会提示是否对反编译软件进行分析,单击
Yes
,接着单击Analyze
-
等待一段时间就可以得到反编译结果了
资源获取
在公众号后台回复:Ghidra
即可获取相关资源,包括:Ghidra安装包、《Ghidra权威指南》英文版pdf及书中的案例代码。
今天就到这里了,下次见~~~