bitmono-project/web
GitHub: bitmono-project/web
一个基于浏览器界面的 .NET/Mono 程序集在线混淆平台,底层使用 BitMono 引擎,免去本地安装即可完成代码保护。
Stars: 0 | Forks: 0
# bitmono-web
BitMono 网站。在浏览器中放入一个 .NET assembly,选择一些保护选项,然后获取混淆后的结果——无需安装,不留痕迹。
实际执行混淆的是真正的 BitMono 引擎,与发布在 NuGet 上的相同,只是将其放在了网站背后。
基于 [.NET Aspire][aspire] 构建。AppHost 将所有内容连接起来,通过 `aspire run` 可以一次性启动整个项目。
目前实际完成的是混淆流程。此外还有一个正在开发中的 crackmes 库(因此下方会有 EF 数据库),但这部分尚未完成。
## 组合方式
Aspire AppHost (`BitMono.Web.AppHost`) 负责编排所有内容:
- **BitMono.Web.Api** — ASP.NET API。接收上传的文件,使用 [Hangfire][hangfire] 将混淆任务加入队列,并在结果准备就绪后提供服务。前端会轮询其状态。
- **Postgres + Redis** — Postgres 为 Hangfire 的任务队列和 crackmes 数据提供底层支持;Redis 用于缓存。
- **frontend** — 你实际浏览的 Vite + React 站点。
- **obfuscation-service** — 实际的 BitMono 引擎。它是一个[独立的服务][obfuscation-service](拥有独立的 repo/image),API 通过 HTTP 与其通信。将其拆分出来是为了让损坏的上传文件只在那里崩溃,而不会导致整个站点瘫痪,同时也方便单独升级 BitMono。
- **BitMono.Web.MigrationService** — 为 crackmes 数据库运行 EF 迁移,然后退出。API 在启动前会等待它完成。
## 运行方式
```
aspire run
```
就这么简单 —— Aspire 会启动 Postgres、Redis、混淆 image、API、数据库迁移以及前端。
你需要:
- .NET 10 SDK
- Docker(用于运行 Postgres、Redis 和混淆 image)
- Node(用于前端)
如果你在与此 repo 相邻的位置检出了 `../obfuscation-service`,那么 obfuscation-service 将基于该同级目录进行构建。如果没有,Aspire 会改为从 ghcr 拉取已发布的 image,因此在本地你并不是非得拥有它不可。
## 目录结构
- `BitMono.Web.AppHost` — Aspire 编排器,从这里开始
- `BitMono.Web.Api` — API(混淆任务、Hangfire)
- `BitMono.Web.Data` + `BitMono.Web.MigrationService` — crackmes EF 数据库及其迁移
- `BitMono.Web.ServiceDefaults` — 共享的 Aspire 设置(健康检查、遥测等)
- `frontend` — React 应用
标签:ASP.NET Core, Docker, React, Syscalls, 代码混淆, 多人体追踪, 安全防御评估, 搜索引擎查询, 请求拦截