For AI agents: the complete documentation index is available at https://renmori.mewbaka.cn/llms.txt, the full documentation bundle is available at https://renmori.mewbaka.cn/llms-full.txt, and this page is available as Markdown at https://renmori.mewbaka.cn/technical/threat-model.md.
  • 简体中文
  • 威胁模型

    RenMori 如实说明客户端保护能做到什么、不能做到什么。本页是本项目及其对外宣传所能作出的一切宣称的基准,在作出任何承诺之前请先阅读本页。

    无法回避的前提

    Ren'Py 游戏运行在玩家的机器上。引擎要运行就必须读取自身的资源,因此:

    • 解密逻辑随游戏一同分发
    • 密钥材料可在客户端派生,否则无法解密
    • 最终渲染的画面与解码后的音频必然存在于内存与屏幕之上

    因此,任何客户端工具都无法使游戏不可破解。 一名熟练且坚持的攻击者,只要拥有分发出去的二进制、调试器与足够的时间,终究能够从任意一款游戏中提取出任意单项资源。这就是白盒问题,历史上所有本地 DRM 方案最终都未能克服它。任何与此相反的说法,都是对客户端保护能力的错误描述。

    RenMori 实际改变了什么

    现实可行的手段,按价值排序:

    1. 使现成工具失效:unrpa、rpatool、RenPack、RenpyEx 与 unrpyc(包括 --try-harder 与 un.rpyc 注入)在受保护的构建上全部失效;这一点之所以重要,是因为现实中绝大多数资源提取与脚本泄露事件,都只是有人运行了其中某个工具,而仅会调用这些工具的 AI Agent 也属于同一类
    2. 使破解无法迁移:逐构建多态意味着逆向一款游戏只能得到仅适用于该游戏、该版本的工具,而非可复用的解包器,因此不存在可在论坛上传播的“RenMori 解包器”
    3. 使旧破解随时间失效:每次发布都会轮换方案,泄露或已被逆向的旧构建对新构建毫无帮助
    4. 磁盘上无明文:任何时刻都不会有任何文件(包括字体)以解密状态留在文件系统上

    RenMori 无法阻止的攻击

    请向用户如实说明以下几点:

    • 对显示内容的屏幕截图与录屏:从定义上即无法阻止
    • 熟练攻击者的内存提取(例如针对运行中进程的 NinjaRipper 一类工具):惰性分块解密会抬高成本,但无法阻止
    • 针对某一款游戏、愿意投入时间的专家:他们能够攻破这一款游戏的这一个版本,但无法将这次成果转化为通用工具

    要真正阻止注入式提取器,需要内核级反作弊。这超出了本项目的范围,对玩家不友好,并且与性能优先及 Steam Deck/Proton 兼容的目标相冲突。

    本项目获准作出的宣称

    RenMori 使所有标准的 Ren'Py 解包与反编译工具失效,磁盘上不留明文,并使每次构建各不相同,从而使通用解包器无从存在。它将提取的成本抬高到针对单一游戏、单一版本的专家级投入。它不能、也无法使游戏不可破解。

    任何比这更强的说法都缺乏依据,不得出现在文档、README 或任何宣传材料中。最终用户许可协议(EULA)中包含与之对应的、不保证不可破解的条款。

    © 2026 笨猫工作室 MewBaka Studio. All Rights Reserved.