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/license/contributing.md.
  • 简体中文
  • 提交要求

    RenMori 采用开放核心架构:本仓库中的框架与工具源码公开,逐构建多态、密钥派生与反篡改运行时由独立的闭源二进制插件提供。本页说明向开放部分提交贡献,以及提交问题反馈与安全漏洞报告时须遵守的要求。

    贡献者许可协议(CLA)

    由于 RenMori 包含部分基于开放代码构建的闭源组件,每一位贡献者都必须先同意贡献者许可协议,其贡献才能被合并。CLA 授予项目以下权利:

    • 在开放发行版中使用该贡献
    • 在闭源构建中使用该贡献
    • 在开放部分的许可条款调整时,以新的许可条款发布该贡献

    没有 CLA,项目无法在闭源构建中合法使用相应代码,因此无法接受该代码。个人与企业 CLA 的签署流程确定后将在仓库中公布。在此之前,请先提交 Issue 讨论拟议的改动并确认愿意签署 CLA,再开始编写代码,以免完成的工作暂时无法被接受。

    提交范围

    接受提交的部分

    • CLI、配置解析、退出码与 CI 行为、GitHub Actions 示例
    • renpy.loader 加载器钩子框架与运行时 SDK
    • 基线容器格式 v1 及其读写实现
    • 标准加密原语的使用方式(算法本身是公开标准)
    • 文档、示例、测试,以及针对 Ren'Py 8.x 各版本的兼容性修复

    不接受提交的部分

    以下部分属于闭源组件,请勿提交相关实现,也请勿对其进行逆向分析:

    • 逐构建多态与变异引擎
    • 密钥派生混淆与密钥恢复逻辑
    • 原生反篡改的内部实现

    若改动需要调整开放 CLI 与闭源插件之间的进程接口,请先通过 Issue 提出接口变更。接口公开且带有版本号,但两侧必须保持兼容。接口定义参阅 开源与闭源组件的接口。

    安全原则

    每一项贡献都必须遵守以下原则。这些是硬性要求,而非偏好:

    1. 性能优先:任何导致运行时性能回退的措施都不会被合并,包括帧时间、场景切换、CG 与视频播放。热路径上不得加入反调试或自检
    2. 磁盘上不留明文:任何情况下都不得在磁盘上留下明文资源,字体同样适用
    3. 只解密数据,不在运行时生成或执行解密后的代码:这使 macOS 版本无需额外授权即可运行,参阅 架构
    4. 不收集数据,不联网回传:加载器框架开源的目的之一正是让使用者能够验证这一点。不得加入任何网络调用
    5. 如实描述防护能力:代码注释、文档与输出信息中不得出现超出 威胁模型 所允许范围的表述,不得使用“不可破解”等说法

    代码提交流程

    1. 提交 Issue 描述拟议的改动,并确认愿意签署 CLA
    2. 从 main 分支创建新分支
    3. 保持改动聚焦;对可测试的开放代码附带测试
    4. 确认示例项目的保护与运行流程仍然通过,且性能没有变化
    5. 提交 Pull Request 并关联对应的 Issue

    文档提交

    本文档站点的源码位于 MewBaka/renmori.mewbaka.cn,技术文档的原始版本位于 RenMori 仓库的 docs/ 目录。文档提交须遵守以下要求:

    • 使用视觉小说与 Ren'Py 开发领域的通行术语,例如 Ren'Py 脚本、立绘、CG、封包、存档、发行版构建
    • 语言专业、严谨、准确,避免口语化表述
    • 句号仅用于段落末尾,列表项、表格与标题不加句号
    • 有关防护能力、性能与兼容性的表述须有验证记录或格式规范作为依据,并注明测量条件

    问题反馈

    在 GitHub Issues 提交问题时,请提供以下信息,以便复现与定位:

    • renmori --version 的输出
    • Ren'Py 版本,以及构建的目标平台
    • 执行 renmori 的操作系统与 Python 版本
    • 使用的保护强度,以及完整的命令行
    • stdout 最后一行的结果 JSON 与 stderr 中的错误信息
    • 若问题出现在游戏运行时,附上 Ren'Py 的 log.txt 中以 renmori: 开头的记录

    提交前请移除日志中的密钥、个人路径等敏感信息,不要附带受保护游戏的资源文件。

    安全漏洞报告

    请不要通过公开 Issue 报告保护方案中的漏洞。专用的私密披露渠道确定后将在仓库中公布;在此之前,请直接联系维护者:team@mewbaka.cn。

    威胁模型已经说明了不在防护范围内的情况,例如录屏、内存提取与针对单一作品的专家级逆向。这些属于已知的局限,不视为漏洞。

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