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, 云资产清单, 安装脚本, 打包工具, 漏洞挖掘, 逆向工具, 逆向工程