Rob1c/Unofficial-Ghidra-Deb-Package

GitHub: Rob1c/Unofficial-Ghidra-Deb-Package

为 NSA 的 Ghidra 逆向工程框架提供非官方的、GPG 签名的 Debian 软件包和 APT 仓库,简化在 Debian 系 Linux 上的安装与自动更新流程。

Stars: 5 | Forks: 0

Logo

Unofficial Ghidra Debian Package

Build Status Version License Platform GPG Signed
本仓库提供了一个**非官方的 `.deb` 包**,用于安装 [Ghidra](https://github.com/NationalSecurityAgency/ghidra),这是一个由美国国家安全局(NSA)开发的开源逆向工程框架。 ## 目的 本项目旨在通过提供预构建的 `.deb` 包,并保持与上游版本自动同步,从而简化在基于 Debian 的 Linux 发行版上安装 Ghidra 的过程。 此项举措旨在作为社区贡献,**不附属于、不受认可或受赞助于 NSA 或官方 Ghidra 开发团队**。 ## ⚖️ 许可证合规性 Ghidra 基于 [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0) 发布。 此包完全遵守该许可证的条款: - 未对 Ghidra 的源代码进行任何修改。 - 除描述性引用外,未使用 NSA 或 Ghidra 的任何商标、徽标或品牌标识。 - 在适用的情况下,已包含原始的 LICENSE 和 NOTICE 文件。 本 `.deb` 包按“原样”提供,不提供任何功能上的担保或保证。请自行斟酌使用。 ## 📦 包详情 - **最新版本**: `12.1.2` - **架构**: `x86_64 (amd64)` - **依赖项**: `openjdk-21-jre, python3, libgtk-3-0` - **安装位置**: `/opt/ghidra/` ## 安装 ### 选项 A — APT 仓库(推荐) 添加真实的软件包源:未来的 Ghidra 更新将通过 `apt upgrade` 获取,无需手动重新下载。构建过程已自动化,并每天针对上游版本进行重新检查——参见[更新策略](#update-policy)。 ``` # 添加 signing key curl -fsSL https://rob1c.github.io/Unofficial-Ghidra-Deb-Package/ghidra-deb-signing-key.asc \ | sudo gpg --dearmor -o /usr/share/keyrings/ghidra-deb.gpg # 添加 repository echo "deb [signed-by=/usr/share/keyrings/ghidra-deb.gpg] https://rob1c.github.io/Unofficial-Ghidra-Deb-Package stable main" \ | sudo tee /etc/apt/sources.list.d/ghidra-deb.list # 安装 sudo apt update sudo apt install ghidra ``` ### 选项 B — 单个已签名的 `.deb` 从 [Releases](https://github.com/Rob1c/Unofficial-Ghidra-Deb-Package/releases) 下载最新的 `.deb` 包。**我们强烈建议先进行验证**——请参阅下方的[验证发布版本](#verifying-a-release)。 通过 apt 安装(**推荐优先于 dpkg**,因为它会自动解析依赖项): ``` sudo apt install ./ghidra_[version]_amd64.deb ``` 或者通过 dpkg 安装: ``` sudo dpkg -i ./ghidra_[version]_amd64.deb sudo apt -f install # resolve any missing dependencies ``` ## 兼容性 本包在 `Ubuntu 24.04.3 LTS x86_64` 和 `Debian 13 "Trixie" (Stable)` 下开发并测试通过,但理应在所有基于 Debian 的系统上正常运行。 ## 为什么信任此项目 这是一个第三方包——并非官方 NSA/Ghidra 或 Debian 的产物。您不必盲目相信,以下是确切可验证的内容及您自行检查的方法。 | 疑虑 | 本项目的做法 | 如何检查 | |---|---|---| | **二进制文件未被修改?** | 直接从官方 [Ghidra GitHub Releases](https://github.com/NationalSecurityAgency/ghidra/releases) 拉取,不对应用程序本身进行任何修补 | 与上游发布资产/校验和进行对比 | | **构建过程公开透明?** | 100% 通过 [GitHub Actions](.github/workflows/build.yml) 在公开、可审计的工作流中构建——从不发布本地/手动构建版本 | 直接阅读工作流文件,或查看 [Actions 标签页](https://github.com/Rob1c/Unofficial-Ghidra-Deb-Package/actions) 了解运行历史 | | **`.deb` 包本身是真实的?** | 每个发布版本都使用专用的 GPG 密钥进行了签名 | `gpg --verify ghidra__amd64.deb.asc ghidra__amd64.deb` | | **签名后是否被篡改?** | 每个制品都发布了已签名的 SHA256 校验和 | `sha256sum -c ghidra__amd64.deb.sha256` | | **会保持更新吗?** | CI 每天检查上游是否有新的 Ghidra 发布版本,并自动重新构建——参见[更新策略](#update-policy) | 查看 [Actions 标签页](https://github.com/Rob1c/Unofficial-Ghidra-Deb-Package/actions) 了解计划任务的运行历史 | | **谁对此负责?** | 由 [@Rob1c](https://github.com/Rob1c) 维护,单一维护者,没有匿名发布 | 提交历史和发布作者身份均公开 | **签名密钥指纹:** `XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX` 公钥:[`ghidra-deb-signing-key.asc`](https://rob1c.github.io/Unofficial-Ghidra-Deb-Package/ghidra-deb-signing-key.asc) · 也发布在 [keyserver.ubuntu.com](https://keyserver.ubuntu.com) 上 ### 验证发布版本 ``` # 导入 key 一次 curl -fsSL https://rob1c.github.io/Unofficial-Ghidra-Deb-Package/ghidra-deb-signing-key.asc | gpg --import # 针对其 signature 验证 .deb gpg --verify ghidra__amd64.deb.asc ghidra__amd64.deb # 验证 checksum 文件本身已签名且未被篡改 gpg --verify ghidra__amd64.deb.sha256.asc ghidra__amd64.deb.sha256 sha256sum -c ghidra__amd64.deb.sha256 ``` 如果两项检查都通过(`gpg` 报告 `Good signature`),则您拥有的文件与本项目的 CI 生成并签名的文件逐字节一致。 ### 更新策略 - CI 每天检查(`schedule: cron`)上游是否存在新的 Ghidra 发布版本;如果是,它会自动重新构建并重新签名——无需手动操作。 - 每个发布版本都标记为 `-`(例如 `12.1.2-1`),以便您始终确切知道正在运行哪个上游版本。 ## 🤝 合作意愿 如果 NSA 或官方 Ghidra 开发团队认为此项打包工作有用,**我完全同意转让所有权、进行合作,或将此工作整合到官方发布渠道中。** 我的初衷是支持逆向工程社区,并满怀敬意地为 Ghidra 生态系统做出贡献。 ## 反馈与贡献 如果您遇到问题或有建议,请随时在本仓库中提 issue。我们特别欢迎与安全相关的报告。如果合适,您也可以考虑向[官方 Ghidra GitHub](https://github.com/NationalSecurityAgency/ghidra) 仓库提交反馈。 #### **免责声明**:本仓库是独立维护的,不附属于美国政府或 NSA。使用 Ghidra 名称纯粹是为了描述目的,并不暗示任何认可关系。
标签:Cutter, Debian, Ghidra, 云资产清单, 安装脚本, 软件包管理, 逆向工程