Skip to content

Releases: CLARE-XHL/Chronos-Seal

Chronos Seal V2.0

Choose a tag to compare

@CLARE-XHL CLARE-XHL released this 31 Aug 17:03
ac6174a

Chronos Seal V2.0 — 彻底重构,面向所有 RM 开发者

⚠️ 版本状态:这是当前最新稳定版本,推荐所有新项目使用。

适用场景:定价 ¥12~¥60 的独立游戏,保护首发销售窗口期。无论你的游戏是否上架 Steam,均可使用。


源码迁移说明

V2.0 的核心源码(decryptor.ccbinding.gypencrypt.jsbuild.yml)已迁移至专用模板仓库 Chronos-Builder-Template。该仓库是云端编译的入口,包含所有编译相关的文件和 GitHub Actions 配置。如需查看或修改源码,请前往该仓库的 README 了解详情。


核心理念

  • 经济学博弈:让破解成本远超游戏售价,保护独立游戏首发的“黄金两周”
  • 版本迭代即“时间炸弹”:利用版本差压缩盗版传播窗口
  • 零信任、零知识:工具作者不接触、不存储任何用户密钥
  • 完全可逆:只加密发行包,工程文件零修改

新增

  • 云端编译(GitHub Actions):用户 Fork 模板仓库 → 填写参数 → 自动编译 → 下载成品,无需本地编译环境
  • 本地扫描器(ChronosScan.bat):纯原生 Windows 批处理,双击扫描所有地图,自动生成检查点植入说明书
  • 作者专属密钥文件(author_secret.txt):云端编译完成后自动生成,包含 Salt、IV、检查点白名单,是游戏加密的唯一凭证
  • 备份机制:建议在替换加密文件前备份原始 index.htmlsystem.json,方便调试和回退

移除

  • 彻底移除 Steam SDK 依赖:不再需要 Steam 账号、Steamworks SDK、Steam API
  • 彻底移除本地编译环境:不再需要安装 Node.js、Python、MSVC、OpenSSL
  • 移除本地编译脚本build.batencrypt.bat 不再需要
  • 移除机器绑定和双存储:不再需要硬件指纹、注册表、NTFS ADS
  • 移除 Steam 相关错误码ERR_ID_MISMATCH(20)、ERR_TIME_TAMPER(31)、ERR_NO_STEAM(50)已移除

变更

  • 工作流程精简
    • 旧:放置文件 → 修改 binding.gyp → 运行 build.bat → 部署 → 运行 encrypt.bat
    • 新:运行 ChronosScan.bat → 植入检查点 → 部署 → 云端编译 → 替换文件
  • 检查点生成方式
    • 旧:在 build.bat 中自动生成并写入 config.h
    • 新:ChronosScan.bat 生成 config.h(仅白名单),密钥由云端编译时动态生成
  • auth_manager.js:精简路径探测,移除 Steam 相关逻辑,版本号更新为 2.0
  • index.html:精简错误码,更新版本号,保留启动劫持和 StorageManager 拦截
  • binding.gyp:移除 Steam SDK 路径和注释,只保留 OpenSSL 依赖

安全增强

  • 零知识设计:Salt 和 IV 只在用户自己的 GitHub Actions 中生成,作者和平台无法接触
  • 私有仓库强制要求:用户必须 Fork 为私有仓库,防止日志泄露
  • 用完即焚:编译完成后删除 Fork 仓库,日志同步销毁

升级指南(从 V1.x 升级)

⚠️ V2.0 与 V1.x 的加密格式不兼容,旧版本游戏的加密文件无法直接升级。

  1. 重新运行 ChronosScan.bat 生成新的 config.hcheckpoints_guide.txt
  2. 按新的检查点说明在游戏中重新植入检查点
  3. 将新的 config.hsystem.json 上传到 Fork 的模板仓库
  4. 运行 GitHub Actions,输入新的版本号
  5. 下载新的 decryptor.nodesystem.json.enc 替换发行包中的旧文件
  6. 已发布的 V1.x 游戏不受影响,可继续正常运行

致谢

  • Project 1 的 fux2 —— 指出 V1.x 版本的核心误区,促使 V2.0 彻底重构

Chronos Seal V1.2.1

Choose a tag to compare

@CLARE-XHL CLARE-XHL released this 30 Aug 09:42
b662607

Chronos Seal V1.2.1 —— 补丁发布

⚠️ 版本状态:建议所有使用 V1.2 的开发者升级至此版本。

本次更新:修复了 V1.2 用户反馈的两个边界场景问题,提升稳定性和用户体验。


修复

  • encrypt.bat 脚本目录自动创建
    修复用户将 encrypt.bat 复制到发行包目录后直接运行时,因 scripts\ 临时目录不存在导致加密流程中断的问题。脚本现在会自动创建所需目录。

  • 首次激活原子性加固
    修复极端情况下(磁盘空间不足、权限不足、进程意外终止)system.json.enc 被用户密钥覆写但 auth.key 未成功写入,导致文件无法恢复的问题。
    现在采用“先备份 → 写入 auth.key → 确认成功后再覆写加密文件 → 失败时自动回滚”的原子性流程。


新增

  • build.bat 支持自定义截止日期
    运行 build.bat 时新增 HARD_EXPIRE 日期输入,开发者可自定义时间炸弹的截止日期(默认 2027-01-01),无需手动修改 config.h

优化

  • encrypt.bat 保留配置备份
    加密完成后不再强制删除 encrypt_config.json,改为保留在当前目录,方便后续游戏更新时重新加密(如需完全清除可手动删除)。

升级指南(从 V1.2 升级)

  1. 替换 encrypt.bat 文件
  2. 替换 decryptor.cc 源文件
  3. 重新运行 build.bat 编译生成新的 decryptor.node
  4. 已激活的用户无需额外操作,auth.key 与 V1.2 完全兼容

Chronos Seal V1.2

Choose a tag to compare

@CLARE-XHL CLARE-XHL released this 30 Aug 06:04
b1fdf15

Chronos Seal V1.2 — 预加密 + 一机一密 + 自动化构建

⚠️ 版本状态:本版本已解决 V1.0 的明文裸奔问题,可投入生产环境使用 但仍建议使用最新版或已明确的稳定版。

适用场景:定价 ¥12~¥60 的独立游戏,保护首发销售窗口期。


核心改进

  • 🔒 发行包预加密:打包前加密 system.json,发行包内无明文,彻底堵死解包即玩
  • 🔑 一机一密:每位玩家首次启动后,system.json 用其专属密钥重新加密,破解无法泛化
  • 🤖 自动化构建:build.bat 一键完成扫描地图、生成检查点、编译 .node
  • 🧹 自动加密:encrypt.bat 部署后自动加密 system.json,校验通过后删除明文

新增功能

打包前自动化构建工具(build.bat)

  • 扫描 data/ 目录下所有地图文件
  • 自动生成检查点列表(7-12 个)
  • 生成 config.h(包含白名单 + 密钥)
  • 一键编译 decryptor.node

部署后加密工具(encrypt.bat)

  • 读取 encrypt_config.json 配置
  • 加密 www/data/system.json → system.json.enc
  • 校验加密文件是否成功生成
  • 自动删除明文 system.json 和 encrypt_config.json(用完即焚)

启动劫持(index.html)

  • 在 RPG Maker 引擎加载前完成解密
  • 劫持 StorageManager.loadFromFile,返回内存中的明文
  • 明文用完即焚(全局存活时间不超过几毫秒)

优化项

  • StorageManager.loadFromFile 劫持,明文用完即焚
  • encrypt_config.json 加密完成后自动删除
  • 检查点白名单由 build.bat 自动生成,无需手动维护
  • 无表格排版,GitHub 显示友好

升级指南(从 V1.1 升级)

  1. 替换 decryptor.cc 为 V1.2 版本
  2. 替换 auth_manager.js 为 V1.2 版本
  3. 新增 config.h(由 build.bat 自动生成)
  4. 新增 build.bat 和 encrypt.bat
  5. 替换 index.html 为 V1.2 版本
  6. 运行 build.bat → 部署 → 运行 encrypt.bat

已知限制

  • 仅支持 Windows 平台(NW.js 环境)
  • 需要 Steamworks SDK 编译
  • 需要 Node.js 环境构建

Chronos Seal V1.1

Choose a tag to compare

@CLARE-XHL CLARE-XHL released this 29 Aug 03:39
1319163

Chronos Seal V1.1 — ADS 双存储防篡改增强

⚠️注意!现有版本有一致命漏洞(system.json在被加密前是明文裸奔),暂不建议添加进生产环境使用,仅适合在本地测试环境运行,该漏洞会在V1.2版本进行封堵,请下载最新版本或已明确的稳定版。

本次更新重点强化了时间存储的防篡改能力,引入 NTFS 备用数据流(ADS)作为第三隐性存储,并移除了独立的 PDF 白皮书,所有文档全部整合进 README。

V1.1 更新说明:本版本已移除独立的 PDF 白皮书,所有设计原理、架构、工作流、部署指南等均完整整合于 README,方便一站式阅读。

新增

  • NTFS 备用数据流(ADS):时间哈希同步写入 auth.key:timestamp,作为第三隐性存储介质
  • 双存储自修复:删注册表或删 ADS 均可由另一方自动补回

增强

  • 严格双源交叉校验verify_time 升级为注册表 + ADS 双源校验,任一存储非空且错误即触发 ERR_TIME_TAMPER(31),空值放过以兼容意外清理

修复

  • 首次激活时序:调整 GenerateFirstTimeAuth 执行顺序,先写 auth.key 宿主文件再写入 ADS,确保首次激活时 ADS 流正确挂载

优化

  • 双写一致性save_current_time_to_registry 内部同时处理注册表与 ADS 写入
  • 示例代码:完善 启动验证.txt检查点.txt,增加 ERR_NO_RES(40) 错误码处理,补充 C++ 自动惩罚的注释说明
  • auth_manager.js:版本号同步至 1.1,增加 .node 加载路径,心跳间隔从 5 秒调整为 3 秒

文档

  • 移除独立的 PDF 白皮书,所有设计原理、架构、工作流、部署指南等全部整合进 README

升级指南

从 V1.0 升级到 V1.1:

  1. 替换 decryptor.cc 为 V1.1 版本
  2. 替换 auth_manager.js 为 V1.1 版本
  3. 重新编译:node-gyp configure && node-gyp build --release
  4. 已激活的用户无需额外操作,save_current_time_to_registry 会在下次启动时自动补写 ADS

已知局限性

本方案不追求对抗顶级逆向工程师,主要目标为提高破解成本、保护首发销售窗口期。建议配合 VMProtect / Themida 对 .node 模块进行虚拟化加壳。

致谢

Chronos Seal V1.0

Choose a tag to compare

@CLARE-XHL CLARE-XHL released this 28 Aug 14:05
1319163

Chronos Seal V1.0 — 初始稳定版

⚠️注意!现有版本有一致命漏洞(system.json在被加密前是明文裸奔),暂不建议添加进生产环境使用,仅适合在本地测试环境运行,该漏洞会在V1.2版本进行封堵,请下载最新版本或已明确的稳定版。

Chronos Seal 是一套专为 RPG Maker MV / MZ(NW.js)设计的无服务器运行时完整性保护方案。通过 C++ Native 层实现身份锚定、时间炸弹、行为检查点与看门狗守护,将批量盗版与简易破解的成本提升至远超游戏本身价值。

“时序为封印,行为作密钥,岁月守护原创。”

核心特性

  • 原生层信任根:核心解密逻辑下沉至 C++ 编译二进制(.node),JS 层零敏感密钥,杜绝 F12 控制台捞密钥
  • Steam 身份锚定:通过 Steam SDK 读取 UID,HMAC-SHA256 签名绑定,多采样抗 Hook
  • 时间自毁机制:硬编码截止时间戳 + 注册表防回拨,旧版泄露包自动失效
  • 资源加密锁:AES-256-CBC 加密 system.json,随机 IV,C++ 内存解密
  • 行为检查点矩阵:单向 HMAC 哈希链,7~12 个检查点与游戏逻辑深度耦合
  • 看门狗守护线程:独立系统级线程,10 秒超时,连续 2 次无心跳强制退出
  • 安全落盘机制:覆写原文件为全 0 并校验,确认无误后删除

架构概览

系统分为三层,层层递进,密钥完全隔离于 JavaScript 层之外:

  • L1:原生信任根(decryptor.node)— 持有硬编码密钥 & 时间阈值
  • L2:JS 胶水层(auth_manager.js)— 暴露 API,不含任何敏感密钥
  • L3:行为验证层(RM 公共事件 & 脚本)— 散落检查点调用

开发者部署

详见 README.md 中的完整部署指南。

已知局限性

本方案不追求对抗顶级逆向工程师,主要目标为:

  • 提高批量盗版与一键破解补丁的开发传播成本
  • 压缩盗版版本的可用生命周期
  • 保障开发者首发销售窗口期

Chronos Seal V1.1 哈希固定

Pre-release

Choose a tag to compare

@CLARE-XHL CLARE-XHL released this 29 Aug 08:16
0f3f760

⚠️ 这个压缩包你不用下

这个 Chronos Seal V1.1 固定哈希 里面的内容和 V1.1 正式发行版完全一样,没有任何区别。

它存在的唯一目的:固定哈希、存证用。

青鸾印平台不支持直接固定 .cc / .gyp 文件,所以我把核心源码单独打包,用压缩包的哈希值作为证据锚点,完成版权存证流程。

如果你是用户,请直接去下载最新发行版或已明确的稳定版(V1.1有漏洞),别下这个。