ytisf/GhidraMacOS
GitHub: ytisf/GhidraMacOS
将 NSA 的逆向工程平台 Ghidra 与 OpenJDK 打包为独立的 macOS 原生应用,让 Apple Silicon 用户无需配置 Java 环境即可一键运行。
Stars: 100 | Forks: 15
# Ghidra for macOS (Apple Silicon)
## 概述
Ghidra 是由 NSA 开发的一个强大的逆向工程平台。
在 Apple Silicon (M1, M2, M3, …) 上,官方发布版需要
预装非自带的 Java runtime,而配置一个纯净的
环境可能会很繁琐。
本项目将最新的 **OpenJDK** 和 **Ghidra** 打包到一个单独的
`Ghidra.app` 中,使其像一个原生的 macOS 应用程序一样运行。
所有必需的资源都被隔离在包内部,因此你可以将其
安装在 **应用程序** 文件夹中并一键运行 —— 无需额外的 Java,无需配置 `PATH`,也没有隐藏的
设置。
## 功能
| 功能 | 描述 |
|---------|-------------|
| **独立运行** | 该包包含最新的 JDK (`openjdk-22.0.1`) 和 Ghidra (`11.0.3`)。 |
| **针对 Apple Silicon 优化** | 在 M1/M2/M3 设备上原生运行。 |
| **不修改系统** | JDK 位于应用程序内部,因此你系统的 Java 不会受到影响。 |
| **易于安装** | 只需一条命令或使用预构建的二进制文件。 |
| **用户友好的 UI** | 可以从 **应用程序** 文件夹启动应用程序,并带有 macOS 风格的图标。 |
| **进度条与 ASCII 艺术** | 安装程序在下载和解压时会显示彩色的进度条。 |
## 要求
- macOS **12.3 或更高版本** (M1, M2, M3 或更新版本)
- Python **3.6+** (仅用于可选的脚本)
- 用于下载 JDK 和 Ghidra 的互联网连接
## 快速开始
### 1. 克隆仓库
```
git clone https://github.com/ytisf/GhidraMacOS
cd GhidraMacOS
```
### 2. 安装可选的 Python 依赖
```
pip install -r requirements.txt
```
### 3. 运行安装程序
```
python3 install_ghidra.py
```
该脚本将会:
1. 下载最新的 OpenJDK 和 Ghidra 发布版。
2. 将它们解压到一个临时文件夹中。
3. 构建一个包含所有文件的 `Ghidra.app` 包。
4. 将该包复制到 `/Applications`。
脚本完成后,你可以通过双击
**应用程序** 文件夹中的图标来启动 Ghidra。
## 使用预构建的发布版
如果你不想运行 Python 脚本,请从 **Releases** 页面下载最新的
预构建 `.app`:
-
将下载的 `Ghidra.app` 拖放到 **应用程序** 文件夹中,
然后像运行任何其他 macOS 应用程序一样启动它。
## 自行构建安装程序
该安装程序是使用 **PyInstaller** 创建的。
如果你想构建自定义版本(例如不同的 JDK 或 Ghidra
版本),请克隆该仓库并运行:
```
pyinstaller launcher.spec
```
`launcher.spec` 文件将安装程序脚本和图标
打包成一个单独的可执行文件。修改该 spec 文件即可更改
下载 URL 或添加其他资源。
## 故障排除
| 症状 | 可能原因 | 解决方法 |
|---------|--------------|-----|
| 安装程序失败并提示 `Permission denied` | 临时目录不可写 | 使用 `sudo` 运行脚本或更改临时目录路径 |
| Ghidra 可以打开但随后崩溃 | Java 版本不匹配 | 确保包中的 JDK 与 Ghidra 发布版匹配 |
| 缺少图标 | 未打包图标 | 确认 `icon.icns` 存在于 `Ghidra.app/Contents/Resources/` 中 |
| `python3: command not found` | 未安装 Python | 从 安装 Python 3.6+ 或通过 Homebrew 安装:`brew install python` |
## 许可证
本项目基于 **MIT License** 授权。
有关详细信息,请参阅 [LICENSE](LICENSE) 文件。
## 贡献
欢迎随时提出 issue 或提交 pull request。
我们欢迎以下方面的 pull request:
- 改进安装脚本,
- 增加对较新 Ghidra 版本的支持,
- 或添加额外的平台(例如 Windows/Mac ARM)
标签:Apple Silicon, Ghidra, 云资产清单, 安装脚本, 打包工具, 漏洞挖掘, 逆向工具, 逆向工程