Ghidra的基础信息如下
Ghidra是一个由国家安全局研究局创建和维护的软件逆向工程(SRE)框架。该框架包括一套功能齐全的高端软件分析工具,使用户能够在包括Windows、macOS和Linux在内的各种平台上分析编译的代码。功能包括反汇编、汇编、反编译、绘图和脚本,以及数百个其他功能。Ghidra支持多种处理器指令集和可执行文件格式,可以在用户交互和自动模式下运行。用户还可以使用Java或Python开发自己的Ghidra扩展组件和/或脚本。
环境准备与安装¶
到Github-Ghidra上可以下载到最新版本的Ghidra,下载解压后,需要Java环境才能够正常运行,我目前能够下载到的最新版本是11.1.2,适配的Java版本是17-21,创建一个jre方便脱机开启。通过jdeps命令找到Ghidra的依赖
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
$ jdeps ./support/LaunchSupport.jar LaunchSupport.jar -> java.base LaunchSupport.jar -> java.desktop <unnamed> -> ghidra.launch LaunchSupport.jar <unnamed> -> java.awt java.desktop <unnamed> -> java.io java.base <unnamed> -> java.lang java.base <unnamed> -> java.lang.invoke java.base <unnamed> -> java.text java.base <unnamed> -> java.util java.base <unnamed> -> java.util.function java.base <unnamed> -> javax.swing java.desktop ghidra.launch -> java.io java.base ghidra.launch -> java.lang java.base ghidra.launch -> java.text java.base ghidra.launch -> java.util java.base
然后可以通过jlink创建minimal的环境,在你执行目录的环境下就能看到jre环境了
1
jlink --add-modules java.base,java.desktop --output jre --compress=2 --no-header-files --no-man-pages --strip-debug
接下来还要设置从当前jre启动,编写脚本
1 2 3 4 5 6 7
@echo off set JAVA_HOME=%~dp0jre call %~dp0ghidraRun.bat echo Start successfully. timeout /t 1 /nobreak >nul
完整目录结构如下,现在启动ghidraRunWithJre.bat就可以启动Ghidra
1 2 3 4 5 6 7 8 9 10 11 12 13 14
. ├── Extensions ├── GPL ├── Ghidra ├── LICENSE ├── bom.json ├── docs ├── ghidraRun ├── ghidraRun.bat ├── ghidraRunWithJre.bat // added ├── jre ├── licenses ├── server └── support
最后更新: 2025-03-17
创建日期: 2024-07-31
