﻿Ringetsu ProtectClass 原始讀寫測試版

此版本移除 ProtectClass 的檔案加解密、VList 加密 key、機器 key 衍生、dummy byte、sector 封裝與檔案 checksum 檢查。
read/write 的所有 mode 都使用不帶密碼的 baReadFile/baWriteFile。idsave 直接保存通過格式檢查的 ID。
其他腳本的文字常數解密、遊戲內部資料保護、回想編輯器格式不在本次 ProtectClass 修改範圍內。
SystemLoadSave 同時移除依賴舊加密表示的兩項驗證；RNG-System.dcr 的 CCT 雜湊退出處理改為直接返回。

重要：舊的加密檔不能直接給正式測試版讀取，授權與系統記錄也在其中。
即使不需要舊 save，啟動仍會讀 RNG-LICENSE.dat、RNGDISC.dat、RNG-READ.dat、RNG-DATA.dat。
因此附上一次性匯出版本。需在原本能正常讀取這些檔案的電腦上操作。

操作步驟
1. 關閉遊戲，先備份整個遊戲目錄，至少保留原本 RNG-Scripts.cct、RNG-System.dcr 和上述四個 .dat。
2. 把 test_RNG-System.dcr 複製成遊戲目錄的 RNG-System.dcr；把 test_RNG-Scripts_export.cct 複製成 RNG-Scripts.cct。
3. 用平常的方式啟動遊戲，進入主畫面後關閉。匯出版在成功解密後另存「原檔名.plain」，回傳原資料給遊戲；ProtectClass.write 已停用，因此不要在這階段存檔。
4. 確認以下四個 .plain 都已產生且不是空檔：
   RNG-LICENSE.dat.plain
   RNGDISC.dat.plain
   RNG-READ.dat.plain
   RNG-DATA.dat.plain
   若缺任何一個，先不要進行下一步；還原備份並回報缺少的檔案或錯誤。
5. 把這四個 .plain 複製到相同目錄、移除檔名末尾的 .plain，取代原 .dat；原版須留在備份裡。
6. 把 test_RNG-Scripts.cct 複製成 RNG-Scripts.cct，再以平常方式啟動。
   此時才是原始讀寫版；新寫入的 ProtectClass 資料沒有加密封裝。

注意
- 不保證一般 save 功能與舊 save 相容，依本次要求不處理其完整相容性。
- RNG.SC 不會在正常啟動時自動匯出。原有 RNG.SC 仍是舊格式，原始讀寫版若進入重新認證流程，不能直接讀它；本包用既有且有效的授權資料轉換後啟動。
- 匯出版保留舊加解密，僅供一次性轉換。正式 test_RNG-Scripts.cct 不會自動解密舊格式。
- 匯出 .plain 的底層寫入結果仍須由實機確認。
- 已重新解析與反編譯，確認原始讀寫、匯出路徑及變更資源範圍；保留原始 FGDC/FGDM 容器與檔案長度。
- 目前環境無法執行此 Windows Director 遊戲，所以尚未做啟動、匯出或跨電腦實測。

回復方式：關閉遊戲，把備份的 CCT、DCR 與四個 DAT 全部還原。不要混用新舊格式。
