a-Gb/strata
GitHub: a-Gb/strata
一款基于 Apple Silicon 的 GPU 辅助可视化二进制分析工作台,将原始字节转化为多种关联投影并提供精确的源字节溯源。
Stars: 0 | Forks: 0
# Strata

[](https://github.com/a-Gb/strata/releases/tag/v0.1.0)
[](https://github.com/a-Gb/strata/releases)


[](#license)

**一个由 GPU 辅助的可视化工作台,用于理解二进制数据。**
Strata 将原始字节转换为关联映射、转换场、统计空间、
位平面、区块布局和 3D 投影。点击某个视觉特征,
Strata 就会带你回到确切的源字节范围以及生成它的变换。
它专为数据发现、格式研究、固件探索、
逆向工程、比较和可解释的视觉交流而设计——而不是用于
自动判定文件是安全的、恶意的、加密的还是压缩的。

## 下载
**[下载适用于 Apple Silicon 的 Strata 0.1.0](https://github.com/a-Gb/strata/releases/download/v0.1.0/Strata-0.1.0-arm64.dmg)**
要求:
- Apple Silicon Mac (`arm64`)
- macOS 15 或更高版本
- 大约 20 MB 的可用空间
打开 DMG,将 **Strata** 拖入 **应用程序**,然后正常启动它。
该版本已经过强化,使用 Developer ID 证书签名,由
Apple 公证,并附有订书钉式的公证票据。
手动验证下载:
```
curl -LO https://github.com/a-Gb/strata/releases/download/v0.1.0/Strata-0.1.0-arm64.dmg
curl -LO https://github.com/a-Gb/strata/releases/download/v0.1.0/Strata-0.1.0-arm64.dmg.sha256
shasum -a 256 -c Strata-0.1.0-arm64.dmg.sha256
```
该版本还包含一个经过校验和验证的 CycloneDX SBOM 包,涵盖
所有 18 个工作区 crate。
0.1.0 版本是预览版。请使用重要文件的副本,并在敏感工作流中使用它之前阅读[当前限制](docs/20-implementation-status.md)。
## 你的首次调查
1. 选择 **Open…** 并选择一个本地文件。Strata 以只读方式打开它。
2. 从 **Discover** 开始,查找候选字符串、重复、周期性、
签名、结构变化和可逆的 XOR 关系。
3. 在 **Structure**、**Grammar**、**Resonance**、**Interleave**、
**Revision diff** 和 **3D Lab** 之间切换。所选内容保持关联。
4. 点击一个点、体素、范围或发现,以检查其确切偏移量、
十六进制字节、文本渲染、贡献者和来源。
5. 保存一个私有的 `.strata-project` 以重新打开本地路径和 UI 状态,或者当你需要可移植的证据链时,保存一个
无源文件的 `.strata-session`。
大文件不会被完整复制到内存中。Strata 使用有界读取、
分块概览、显式采样和确切的聚焦范围。连续
分析路径目前限制为 64 MiB。
## Strata 帮助揭示的内容
| 问题 | 有用的视图和证据 |
|---|---|
| 区域、行、标头或嵌入式 payload 从哪里开始? | 地址光栅、Hilbert 平面/立方体、熵和区域叠加层 |
| 某个区域是类似文本的、结构化的、重复的、紧凑的还是统计上异常的? | 复杂性相空间、字节转换、递归、字符串、熵 |
| 数据是否包含标志、掩码、平面通道或位损坏? | 位平面堆栈和 Hamming 投影 |
| 哪种记录宽度或 interleave 是合理的? | 对齐晶格、步幅关系、周期性、频谱证据 |
| 哪些区块重复或相关? | 精确重复、递归、相关性和重复天际线证据 |
| 某个区域是否类似于已知的签名? | 严格签名包候选,具有精确的匹配范围和包来源 |
| 两个修订版之间发生了什么变化? | 关联的 diff 范围、匹配区域和修订位移证据 |
| 我该如何向他人解释这个发现? | 持久化的选择、证据说明、确定性会话和可编程视频导出 |
没有任何单一视图会被视为最终结论。例如,高熵本身无法
区分压缩和加密。当多个独立的视图指向同一个源范围时,Strata 的作用最强。
## 投影模型
Strata 将许多二进制可视化器混淆在一起的概念区分开来:
```
Binary
→ sample domain Byte | Word | Window | Region
→ projection Raster | Hilbert | Transition | Phase | Parsed layout
→ geometry Points | Path | Voxels | Surface
→ visual channels Colour | Height | Size | Opacity | Motion
→ overlays Regions | Strings | Signatures | Selection
```
默认的投影系列是 **Raster**、**Hilbert**、
**Transitions**、**Bitplanes**、**Complexity** 和 **Sections**。高级
工作包括对齐、递归、频谱、Hamming 空间、层级和
地址路径。命名的 A/B 投影可以作为分屏、叠加或变形查看,同时每个数据点都保持稳定的源贡献者。
核心不变量是:
## 隐私和证据边界
- 文件以只读方式打开,永远不会被上传。
- 没有 telemetry 或云端分析依赖。
- 可移植的会话会排除源字节和本地源路径。
- 私有项目定位器可能包含本地路径,并被 Git 忽略。
- 签名匹配和统计相似性作为候选证据呈现,
绝不是权威的文件类型或安全结论。
- 截图和导出仍然可能泄露源自数据的结构;在分享前请仔细
检查它们。
Strata 会分析攻击者控制的输入,并且尚未进行沙箱化或
独立审计。在检查具有敌意的或敏感材料之前,请参阅 [SECURITY.md](SECURITY.md)。
## 从源码构建
受支持的开发目标是搭载 macOS 15 或更高版本的 Apple Silicon。
安装 Xcode Command Line Tools、稳定的 Rust 和
[`just`](https://github.com/casey/just):
```
xcode-select --install
brew install rustup just
rustup-init
```
克隆、验证并运行:
```
git clone https://github.com/a-Gb/strata.git
cd strata
just check
just test
cargo run -p strata-app-macos
```
从命令行打开特定文件:
```
cargo run -p strata-app-macos -- /absolute/path/to/source.bin
```
构建优化后的本地应用程序或 DMG:
```
just package-macos
just dmg
open target/artifacts/Strata-0.1.0-arm64.dmg
```
本地包默认进行临时签名。仅限维护者的 Developer ID 和
公证步骤记录在
[packaging/macos/README.md](packaging/macos/README.md)。
## 无头分析
CLI 使用与桌面应用程序相同的有界 runtime 和溯源模型:
```
cargo run -p strata-cli -- analyze Cargo.toml \
--preset examples/presets/structure-entropy-fast.json \
--range 0x0:0x200 \
--output-format json
```
机器可读的输出排除了源路径,并包含源摘要、
覆盖范围、预设和规范工件摘要。
## 扩展 Strata
欢迎做出贡献和进行实验性分支。最有用的扩展
点是:
- `crates/strata-analysis` — 确定性的 CPU 分析器和发现
结果。
- `crates/strata-views` — 带有源范围往返的投影映射。
- `crates/strata-gpu` — 带有强制 CPU 差异
测试和回退机制的有界 WGPU kernel。
- `crates/strata-runtime` — 共享规划、预算和工件编排。
- `schemas/` 和 `wit/` — 版本化交换和未来的插件契约。
- `fixtures/` — 带有摘要和
预期属性的微型确定性、可重新分发示例。
- `examples/video/` — 可编程相机、投影、变形和证据
叙述。
第三方插件安装尚未启用;当前的扩展路径
是源码贡献或分支。新的分析必须保持确定性、
资源有界,并且可追溯到确切或显式采样的源范围。
从 [CONTRIBUTING.md](CONTRIBUTING.md)、[架构](docs/01-architecture.md) 和
[实施状态](docs/20-implementation-status.md) 开始。
## 架构一览
```
flowchart LR
A[macOS workbench / CLI] --> B[bounded shared runtime]
B --> C[immutable byte sources]
B --> D[deterministic CPU analyzers]
B --> E[verified WGPU compute]
D --> F[provenance-bearing artifacts]
E --> F
F --> G[linked views and exact picking]
G --> H[source-free sessions and exports]
```
[文档索引](docs/INDEX.md) 涵盖了产品模型、算法、
GPU pipeline、交互模型、会话、安全、性能预算、
插件方向和路线图。
[GUI 参考](docs/21-gui-reference.md) 将当前的可执行
基线与目标工作台层次结构及其布局不变量区分开来。
## 项目状态
Strata 0.1.0 是第一个公开的预览版。工作路径包括
桌面工作台、CLI、关联的 2D/3D 投影、有界大文件访问、
选定的 Metal 计算、确定性会话、签名知识和视频
程序。原生沙箱化、可安装的第三方插件、更广泛的 GPU
覆盖、更新交付、Intel 支持以及稳定的兼容性承诺
仍然是未来的工作。
请参阅 [更新日志](CHANGELOG.md)、[路线图](docs/11-roadmap.md) 和
[维护的实施状态](docs/20-implementation-status.md)。
## 社区
- 使用 [GitHub Discussions](https://github.com/a-Gb/strata/discussions) 讨论
想法、投影设计和格式研究问题。
- 使用 [GitHub Issues](https://github.com/a-Gb/strata/issues) 报告可复现的
bug 和提出专注于特定功能的建议。
- 使用[私下报告漏洞](https://github.com/a-Gb/strata/security/advisories/new)
进行对安全敏感的报告。切勿将专有二进制文件、私有
路径、凭据或活体恶意软件附加到公开的 issue 中。
## 许可证
Strata 源代码和文档可根据你选择的
[Apache License 2.0](LICENSE-APACHE) 或 [MIT license](LICENSE-MIT) 获取。合成夹具基于
[CC0 1.0 Universal](fixtures/LICENSE-CC0) 贡献。
标签:Apple Silicon, 二进制分析, 云安全运维, 云资产清单, 可视化界面, 文档结构分析, 格式研究, 逆向工程, 通知系统