Ghidra逆向工程工具是一款由美国国家安全局开发的一款逆向工程套件,这款软件可以帮你将可执行文件分解为汇编代码,以进行分析。Ghidra逆向工程工具包含了一整套功能齐全的高级软件分析工具,可以帮助广大研究人员在各种常见系统平台上进行源代码分析,其中包括Windows、macOS和Linux。
1、 提供了一整套软件分析工具,可在各种系统平台上进行代码分析,支持Windows、macOS和Linux;
2、 功能包括反汇编、汇编、反编译、图形化和脚本支持,以及数百个其他的高级功能;
3、 支持各种处理器指令集以及可执行文件格式,可以在用户交互或自动化模式下运行;
4、 用户可以使用开放的API接口开发自己的Ghidra插件组件或脚本;
Ghidra直接通过压缩包解压即可使用,这样的好处就是可以不用修改各种系统配置,如Windows下的注册表,便于删除,坏处是不能直接在桌面上或开始菜单设置快捷方式。
特定盘符,如C:需要Administrator权限。
Ghidra会使用系统标准的TEMP目录来存储相关数据,用户也可以通过修改support/launch.properties来进行修改。
通过自带BAT脚本启动GUI模式:
进入之后,会有一个Tip提示,如下所示:
Ghidra是按项目进行管理的,使用者需要首先创建一个项目:
输入项目名:
项目创建完毕之后生成一个具体的目录,注意项目文件删除的时候似乎不能直接通过GUI删除,需要手动删除:
创建好项目之后就可以导入需要反编译的文件了:
如下所示我们反编译测试了calc.exe计算器程序:
开始反编译,速度相比于IDA还是慢了不少:
完成之后,项目文件下会创建对应的项目,双击进入:
进入之后会提示是否进行分析:
点击确认后,可以控制相应的分析选项:
开始分析之后,右下角会有相关的进度条展示:
目前来看Ghidra是无法自动下载符号的,需要对PDB相关配置进行设置:
完成分析之后的整体界面如下所示,很有一股浓浓的JAVA风范:
由于是基于项目的,因此Ghidra中可以同时打开多个反编译的项目,只需要直接往项目中导入文件即可: