SauceTaster/GhidraEx
GitHub: SauceTaster/GhidraEx
GhidraEx 是一组用 JavaFX、Web、IntelliJ 和 VS Code 四种架构实现的 Ghidra 工作台界面原型,用于在深度集成之前比较和评估不同前端技术栈的可行性与体验差异。
Stars: 0 | Forks: 0
# GhidraEx 工作台原型
[](https://github.com/SauceTaster/GhidraEx/actions/workflows/ci.yml)
这是一个独立的架构实验。它不隶属于以下机构,也未获得其认可:
National Security Agency 或 Ghidra 项目。
四个可运行的原型探索了同一个彻底重构的 Ghidra 工作台垂直切片:
| 原型 | 架构 | 入口点 |
| --- | --- | --- |
| [JavaFX 工作台](prototypes/javafx-workbench/README.md) | 具有与工具包无关的引擎外观的 JavaFX 26 进程内 shell | `./gradlew run` |
| [Web 工作台](prototypes/web-workbench/README.md) | 具有环回 JDK 25 服务和 SSE 的 TypeScript/Vite shell | `./dev.sh` |
| [IntelliJ 工作台](prototypes/intellij-workbench/README.md) | 使用原生工具窗口、操作、编辑器和任务的 IntelliJ Platform 插件 | `./gradlew runIde` |
| [VS Code / Code OSS 工作台](prototypes/vscode-workbench/README.md) | 原生 Activity Bar TreeViews 和虚拟 Listing/Decompiler 编辑器,包含桌面 Node 和浏览器 WebWorker 打包文件 | `npm run open:desktop` / `npm run open:web` |
这些原型有意使用确定性的合成分析数据。它们在项目付出直接将四个实验绑定到 Ghidra 内部的成本之前,比较了 UI 和工作台架构。共享操作和评估关卡记录在[原型契约](docs/prototype-contract.md)中;验证结果位于[原型结果](docs/prototype-results.md)中。下一次比较增量由[高级 Ghidra 场景包](docs/advanced-scenario-pack.md)及其可复用的[场景清单](docs/advanced-scenarios.json)定义。
## 环境要求
- JDK 25
- 用于 Web 和 VS Code / Code OSS 原型的 Node.js 22 或更高版本
- 用于桌面扩展宿主启动的 VS Code 1.100 或更高版本。VSIX 也针对 Code OSS 和 VSCodium,但在此工作区中尚未测试任何本地 VSCodium 二进制文件。
每个 Java 项目都包含一个 Gradle 9.1 wrapper。被忽略的 `.toolchains` 目录可以选择性地在 `.toolchains/jdk-25/Contents/Home` 中存放一个仓库本地 JDK。
## 快速开始
一次性设置 JDK:
```
export JAVA_HOME="/path/to/jdk-25"
```
运行 JavaFX:
```
cd prototypes/javafx-workbench
./gradlew run
```
运行 Web shell 和服务:
```
cd prototypes/web-workbench
npm ci
./dev.sh
```
运行 IntelliJ 沙箱:
```
cd prototypes/intellij-workbench
./gradlew runIde
```
在桌面宿主中运行 VS Code / Code OSS 扩展:
```
cd prototypes/vscode-workbench
npm ci
npm run open:desktop
```
在 Extension Development Host 中,从命令面板使用 **GhidraEx: Open Workbench**,或选择 GhidraEx Activity Bar 项。该命令会打开原生的 Listing/Decompiler 编辑器分屏;它不会打开内嵌的 HTML 工作台。
通过浏览器 WebWorker 宿主运行同一个扩展:
```
npm run open:web
```
从仓库根目录运行每个自动化关卡:
```
./scripts/verify-all.sh
```
## 下一个集成接缝
下一个共享里程碑是一个只读的 Ghidra adapter,实现程序元数据、分页 listing 检索、符号搜索、反编译和流式任务进度。该 adapter 应返回不可变的工作台文档,而不是将 `Program`、Swing 组件或其他 Ghidra 对象标识暴露给 UI 层。
## 许可证
基于 [Apache License 2.0](LICENSE) 授权。
标签:Ghidra, JS文件枚举, MITM代理, SOC Prime, 云资产清单, 前端架构, 后台面板检测, 域名枚举, 开发工具, 插件开发, 蓝队工具, 逆向工程