docs(readme): replace Mod path with -javaagent, add optional UPX prereq
The Forge mod entry point no longer works in this project, so the build section was steering people toward a path that wouldn't load. Reframe the two delivery shapes as Java Agent jar and hot-injector EXE, with a callout that mods/ is unsupported. Other readme drift caught in this pass: - UPX listed as an optional common prerequisite with install instructions (choco / upx.github.io) — the upxCompress task already no-ops when upx isn't on PATH, this just makes the option visible. - 使用注入器 步骤 updated for the Inject-button UI (previously documented "double-click a row"). - 删除 stale "构建流程" 列表 in the injector section. - 后门 段更新 + 布吉岛 段加删除线 reflecting current detection status (user-authored edits picked up in the same commit). Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -34,9 +34,9 @@
|
||||
## 后门
|
||||
原版的Zen存在大量后门,例如上报QQ、屏幕截图、扫描文件、上传文件、远程执行命令等。因此我们不推荐任何用户继续使用原版Zen,除非你愿意现在把你身上的衣服脱掉然后去本地人最多的广场裸舞,然后把自己裸舞的视频发送到Zen的群内。
|
||||
|
||||
> Zen开发者称,所有的后门都未实现未引用,是由夏天完成的。但笔者在分析其Native时发现了完整引用,暂且蒙古。
|
||||
由于精神马来西亚人从小父母双亡,无父无母的精神马来西亚人自幼脑回路不正常。
|
||||

|
||||
|
||||
经过分析,当你登录Zen后就会自动触发屏幕截图。同时已有用户反馈,当你狗叫Zen开发者后,其开发者将会把你的电脑屏幕截图发送至QQ群内,所以请你不要狗叫Zen开发者。
|
||||
|
||||
[详细分析](./mapping/BACKDOOR.md)
|
||||
|
||||
@@ -50,17 +50,26 @@
|
||||
|
||||
## 构建
|
||||
|
||||
OpenZen 支持两种交付形式:**Forge Mod (jar)** 和 **热注入器 (单文件 EXE,内嵌 DLL)**。Mod 路径只要 JDK,注入器路径还需要 MSVC 工具链。
|
||||
OpenZen 支持两种交付形式:**Java Agent jar**(挂到 Minecraft JVM 启动参数里)和 **热注入器 (单文件 EXE,内嵌 DLL)**。Agent 路径只要 JDK,注入器路径还需要 MSVC 工具链。
|
||||
|
||||
> **本项目不能作为 Forge mod 启动。** `mods/` 加载路径不被支持,不要把 jar 丢进 `.minecraft/mods/`。
|
||||
|
||||
### 共同前置
|
||||
|
||||
- **JDK 17**(推荐 Microsoft Build of OpenJDK / Temurin / Azul Zulu 任一)。
|
||||
- 必须设置 `JAVA_HOME` 环境变量指向该 JDK 安装目录(PowerShell 验证:`echo $env:JAVA_HOME`)。
|
||||
- 仓库根目录用 `gradlew.bat` 即可,**不需要**单独安装 Gradle。
|
||||
- **可选:UPX** —— 仅热注入器路径会用到,作用是把最终的 `OpenZenLoader.exe` 从 ~32 MB 压到 ~10 MB。在 `PATH` 上检测到 `upx` 时 `./gradlew upxCompress` 会自动跑 `--best --lzma`;找不到就只打一条 warning 直接跳过,不影响功能。安装方式:
|
||||
|
||||
```powershell
|
||||
choco install upx -y
|
||||
```
|
||||
|
||||
或者从 <https://upx.github.io/> 下载 ZIP 并把 `upx.exe` 加进 `PATH`。
|
||||
|
||||
首次执行会从 ForgeMaven 下载 1.20.1 + Forge 47.4.20 的 mappings 和依赖,耗时几分钟到十几分钟,取决于网络。
|
||||
|
||||
### 1. 构建为 Forge Mod (jar)
|
||||
### 1. 构建为 Java Agent jar
|
||||
|
||||
零额外依赖。
|
||||
|
||||
@@ -68,7 +77,13 @@ OpenZen 支持两种交付形式:**Forge Mod (jar)** 和 **热注入器 (单
|
||||
.\gradlew.bat jar
|
||||
```
|
||||
|
||||
产物:`build/libs/hey-1.0-SNAPSHOT.jar`。把它丢进 `.minecraft/mods/`,按正常 Forge mod 启动即可。Mod ID 是 `hey`,Mod 列表里不会显示(`MinecraftPatch.onTick` 启动时会把自己从 `ModList` 摘掉)。
|
||||
产物:`build/libs/hey-1.0.jar`。在 Forge 启动器的 JVM 启动参数里加上:
|
||||
|
||||
```
|
||||
-javaagent:"完整\路径\到\hey-1.0.jar" -Djdk.attach.allowAttachSelf=true
|
||||
```
|
||||
|
||||
`PatchAgent.premain` 会在 Minecraft 类加载之前装载所有 ASM 补丁;`-Djdk.attach.allowAttachSelf=true` 是让 `installPatchesAndRetransform` 在需要时能兜底走 Attach API。
|
||||
|
||||
### 2. 构建为热注入器 (单文件 EXE)
|
||||
|
||||
@@ -100,22 +115,14 @@ OpenZen 支持两种交付形式:**Forge Mod (jar)** 和 **热注入器 (单
|
||||
.\gradlew.bat dll
|
||||
```
|
||||
|
||||
产物:`build/dist/OpenZenLoader.exe`(OpenZen.dll 已内嵌为 RCDATA 资源段)。
|
||||
|
||||
构建流程:
|
||||
1. `jar` → 编译 Java 源码,执行 `reobfJar` 把字节码 mojmap→SRG
|
||||
2. `stageNativeJar` → 拷 jar 到 `native/zen.jar`,等待 DLL 把它作为资源段嵌入
|
||||
3. `configureNative` → CMake configure (`-A x64`)
|
||||
4. `buildNative` → 先 build `OpenZen.dll`,CMake 自定义命令把 DLL 拷到 loader 的 binary dir,rc.exe 再嵌入到 `OpenZenLoader.exe`
|
||||
5. `packageDist` → 把 EXE 拷到 `build/dist/`
|
||||
产物:`build/dist/OpenZenLoader.exe`。如果已装 UPX 想顺便压缩,跑 `.\gradlew.bat upxCompress`。
|
||||
|
||||
#### 使用注入器
|
||||
|
||||
1. 用 HMCL / Forge 启动器正常启动 Minecraft 1.20.1 Forge(**不需要**任何特殊 JVM 参数)。
|
||||
2. 双击 `OpenZenLoader.exe`(会弹一次 UAC 提权)。
|
||||
3. GUI 自动列出系统里**所有 Minecraft 实例**(按窗口标题 startsWith `Minecraft` 且不含 `Launcher` 过滤),每秒自动刷新一次。
|
||||
4. **双击对应的行**就开始注入。
|
||||
5. 状态栏出现 `Injected into PID ...` 即成功;Minecraft 内右 Shift 触发 ClickGUI 验证。
|
||||
2. 双击 `OpenZenLoader.exe`。
|
||||
3. GUI 自动列出系统里**所有 Minecraft 实例**,每秒自动刷新一次。
|
||||
4. 点击行最后的 Inject 按钮。
|
||||
|
||||
诊断日志:
|
||||
- Native 端:`%TEMP%\openzen.log`
|
||||
@@ -124,8 +131,9 @@ OpenZen 支持两种交付形式:**Forge Mod (jar)** 和 **热注入器 (单
|
||||
## 常见问题
|
||||
|
||||
### 布吉岛反作弊绕过
|
||||
截止至目前(2026/05/23),布吉岛并未检测本项目,考虑其反作弊为黑名单类名机制。
|
||||
建议构建时修改类名。
|
||||
~~截止至目前(2026/05/23),布吉岛并未检测本项目,考虑其反作弊为黑名单类名机制。~~
|
||||
~~建议构建时修改类名。~~
|
||||
类名已黑名单,请在构建时修改类名。
|
||||
|
||||
## 致谢
|
||||
|
||||
|
||||
Reference in New Issue
Block a user