codeminute-the-dev/RawView
GitHub: codeminute-the-dev/RawView
一个基于 Ghidra 的 AI 辅助逆向工具,提供脱离 Swing 界面的桌面化高效分析与归档工作流。
Stars: 1 | Forks: 0
# 原始 View
用于 **Ghidra** 的 AI 辅助逆向工程:这是一个 **Qt (PySide6)** 桌面应用程序,通过 **Py4J** 无头模式驱动 Ghidra,将反编译器、反汇编、字符串、导入/导出、交叉引用 (xrefs) 及相关工具集成在一个停靠窗口中。
**可选:** 当您在 **File -> Settings** 下添加密钥时,**agent** 停靠面板会使用 **Anthropic** API。本程序不内置 Ghidra;您需要在设置中为 RawView 指定您自己的安装路径(或 ZIP URL)。
**作者:** [@codeminute-the-dev](https://github.com/codeminute-the-dev)
## 功能
- 无需使用 Ghidra Swing UI 即可通过 Ghidra 打开二进制文件并运行分析,方便日常导航。
- 停靠面板、主题、快捷键、工作笔记,以及可选的 RE 会话存档(`.rvre.zip` 风格的工作流)。
- 专注于 Windows 的打包方式:**PyInstaller** onedir + **WiX** 每用户 MSI。当维护者上传预构建的安装程序时,请使用仓库的 **Releases** 标签页获取。
## 环境要求
| | |
|--|--|
| 操作系统 | **Windows**(主要支持;脚本和 MSI 均面向 Windows 设计) |
| Python | **3.11+** |
| Ghidra | 您自己的安装版本或官方 ZIP;在应用程序内进行配置 |
| JDK | **21+**,用于编译 Java 桥接程序;应用程序首次运行时可获取 Temurin 并安装至 `%LOCALAPPDATA%\RawView\` |
## 从源码构建
```
git clone https://github.com/codeminute-the-dev/RawView.git
cd RawView
python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -e ".[dev]"
python -m rawview.scripts.compile_java
python -m rawview
```
可编辑安装 (`-e`) 无需重新安装即可应用 Python 代码更改。
## Windows MSI(基于此仓库)
1. 安装 [WiX Toolset 3.11+](https://github.com/wixtoolset/wix3/releases) 并确保其 `bin` 目录位于 `PATH` 环境变量中,或将环境变量 `WIX` 设置为该工具包的根目录。
2. 在仓库根目录下执行:
```
powershell -ExecutionPolicy Bypass -File scripts\build-msi.ps1
```
输出:
- `dist\RawView\`:便携式 PyInstaller 目录结构 (`RawView.exe`)。来自 `pyproject.toml` 的所有 Python 依赖项在构建时都会**冻结至** `_internal` 目录中(在用户的 PC 上不需要为了运行 MSI 构建版本而安装 Python 或 `pip`)。
- `dist\RawView\BUNDLED_PYTHON_PACKAGES.txt`:构建机器上执行 `pip install ".[dev]"` 后的 `pip freeze` 输出,与 `RawView.exe` 一并提供以保证透明度。
- `dist_installer\RawView-.msi`:每用户 WiX 安装程序(包含开始菜单 + 桌面快捷方式,向导中提供完整的 GPL 许可证文本)。
仅重新构建 WiX(复用 `dist\RawView`):`.\scripts\build-msi.ps1 -SkipPyInstaller`(该脚本在收集文件前仍会运行 `pip install ".[dev]"` 并刷新 `BUNDLED_PYTHON_PACKAGES.txt`)。
## 仓库结构
| 路径 | 用途 |
|------|---------|
| `rawview/` | 应用程序代码;Java 桥接的**源代码**位于 `rawview/java/` 下 |
| `packaging/` | `rawview.spec`、WiX `Product.wxs`、图标 |
| `scripts/` | `build-windows.ps1`、`build-msi.ps1`、`export-source-zip.ps1` |
| `installer/` | Windows 安装程序构建说明 (`BUILD.txt`) |
| `pip/` | 用于在专用文件夹中进行可编辑安装的辅助脚本 |
| `LICENSE` | GPLv3 完整文本 |
此仓库即为**项目根目录**(包含 `pyproject.toml` 的文件夹)。内部的 `rawview/` 目录仅仅是 Python 包的名称,而不是一个单独的可发布代码树。
## 纯源代码归档
若要仅打包 Git 跟踪的内容(排除 `dist/`、`build/` 等):
```
powershell -ExecutionPolicy Bypass -File scripts\export-source-zip.ps1
```
在此仓库文件夹的父目录中生成 `RawView-source-.zip`。
## 安全性
请**不要**提交您机器上的 API 密钥、token 或 `rawview.env`。设置通常位于 `%LOCALAPPDATA%\RawView\` 目录下。如果将大型的本地 Ghidra/JDK 目录不慎复制到了克隆仓库旁边,`.gitignore` 也会将它们以及常见的机密文件名排除在外。
## 许可证
[GNU General Public License v3.0](LICENSE)。
标签:Ghidra, PySide6, 二进制分析, 云安全运维, 云资产清单, 人工智能辅助, 桌面应用, 逆向工程
