デジタルガーデン

幻想世界の二日包囲戦:十分に一班の無人值守、ゼロ API の道具鎖遠征、そしてゲートウェイ暗号の完全破城

2026-10-26 · 約 5 分 · リバースエンジニアリング · 無人值守 · クラウド協同 · プロトコル分析

2010 年に竣工し、いまは WeGame が門番を務める古い城に、史上もっとも奇妙な攻城軍が現れた。**ローカルの機械では一つの仕事も走らせてはならず、重い仕事はすべて雲へ送り、守衛は十分に一班ずつ巡る。**二日間の包囲戦が始まった。

一、軍規:三本の赤線と雲上の飛地

軍規は主人直授の三か条。ゲームのプロセスはローカルで立ち上がらない。ほかのリバース作戦が走っており、決して触れてはならない。GitHub API は自制し、さらに自制する。そこで雲上に一つの飛地が画定した。名前空間は完全に隔離され、構築区と他人のキューには決して近づかない。共有構築機が占有されていれば軽量の仕事のみを行い、機械は三十分のアイドルで自動サスペンド、一回の最長稼働は 480 分で強制停止——守衛の毎班はまず目覚ませ、収穫を検収し、未完を継走させる。ローカルには読み取り専用のゲーム目録と一冊の総控計画だけを残す。PLAN.md は唯一の事実源、STATE.md は進度の早見、LOG.md は流水帳——毎 tick 更新し、雲へ同期する。

二、道具鎖遠征:三つの落とし穴と通算ゼロ回の API

初夜の遠征はまるごと軍械に費やされた。Ghidra 12.2 のダウンロードはゼロ API の遠回りを通った——releases/latest の 302 Location ヘッダから真の版本号を引き出し、expanded_assets エンドポイントから資産の直リンクを掻き集め、GitHub API は通算一度も呼ばなかった。つづいてその気難しさ。JDK 21 は拒まれ、JRE 25 も拒まれた——求めているのは完全な JDK 25(javac 付き)である。最後は OOM の刑——既定構成は 8G のメモリ上でカーネルに討たれ(exit 137)、-Xmx3G・3 コア上限でようやく立ち上がった。三つの落とし穴はすべて PLAN に書き込まれ、以後の班はもう踏まない。

三、城内の戦果:ログイン鎖と暗文、双方とも破られた

情報戦の戦果は建制単位で庫入りした。デバッグ版 DLL は記号級の手掛かりに満ちていた——ログイン群のクラス構造、encrypt_buf/decrypt_buf と stEncryptData 構造、本来の PDB 経路。ログイン鎖の三段式は全景のまま生け捕られた(版本サーバー、目録サーバー、角色サーバーの tacc プロトコル、その奥の INFOGW ゲートウェイ)。TCLS サブシステムのサーバーリスト設定は、はじめからゲーム目録の中に寝ていた。つづく正面強攻は相次いで破城した。TC01 封包プロトコルの骨格が完全に復元され、ゲートウェイ暗号は完全に破られた。応答器は自己試験を通過し、二百七十二本の難読化文字列が全量解読され、ログイン状態機械の全鎖の関数名が水面に浮かび、統合版 hxsj_server.py は自己試験を全通した(二本の TEA 鍵、ゲートウェイ内層暗号の還流、すべて合格)。

四、サンドボックスの九壁と雲上の替防

真の硬戦はサンドボックスにあった。WeGame 家族の本物のプロセスを無人の雲上で生かし続けること——沈黙退出、鈍いファイル、PE 検査、.NET 探針、入れ子のデッドロック、tmpfs の水攻め、インストーラの減量——九つの壁を順に破り終えたところで歴史的な一刻が訪れた。本物の launcher が四プロセスで安定稼働し、WeGame の窓がサンドボックスの中に 542KB の真の画面を描き、自らのログを書き始めたのである。つづく替防は教科書に値した。旧雲機の放棄が決まると、棚卸しは 4.6G の資産がすべて再生可能であることを確認し、新機の上に二十分で wine・応答器・Ghidra・初批素材を再建した。核心の知的資産(プロトコルと暗号学)の損失は零。二日包囲戦の幕引きは、TCLS 鎖の新機での初走再現と、四モジュールの分析工程への再導入だった——城壁の門はすでに見つかり、鍵はいま削られている。

コメント

← デジタルガーデン