[油猴脚本] 雨课堂课件PDF下载工具 DRM 说明

2021年7月14日 12164点热度 19人点赞 0条评论

DRM,英文全称Digital Rights Management, 可以翻译为:数字版权管理。 数字版权管理是指数字内容,如音视频节目内容、文档、电子书籍等在生产、传播、销售、使用过程中进行的权利保护、使用控制与管理的技术。

——来自:百度百科-DRM(https://baike.baidu.com/item/DRM)

先说结论:尊重教师版权,PDF 妥善保管,无须担心任何问题

为了尊重版权与脚本的和平发展,1.2.2 版本开始,雨课堂课件PDF下载工具生成的 PDF 中将默认加密注入 DRM 信息。与脚本说明相符,PDF 生成的整个流程只发生在本地浏览器内,除了图片下载与在克隆 DOM 触发的后台刷新动作,没有任何的数据上传操作。脚本的具体的隐私与版权保护逻辑,请见下文。

关于信息

完全包括以下内容:

  1. 编译信息(build_info)
    • 脚本名称(name)
    • 脚本版本号(version)
    • 编译时间戳(timestamp)
  2. 页面信息
    • 页面链接(url)
    • PDF 生成时间戳(timestamp)
  3. 用户信息(user_profile)
    • 雨课堂注册 ID(user_id)
    • 雨课堂注册学号(school_number)
    • 雨课堂注册姓名中任意一个字符(name)
  4. 随机生成 uuid 字符串作为盐(salt)

JSON格式的 example 如下:

{
     build_info: {
         name: 'rain-classroom-pdf-direct-download',
         version: '1.3.0',
         timestamp: 1626184759813
     },
     page_info: {
         url: 'https://www.yuketang.cn/v2/web/student-v3/0000000/111111111111111111/2222222222',
         timestamp: 1626185419147
     },
     user_profile: {
         user_id: 12345678,
         school_number: '000000000',
         name: '**明'
     },
     salt: '5198c54e-ba9b-4456-a9a5-e223971c339q'
 }

关于数据采集的来源,为本地页面的静态内容,没有任何网络请求。

关于加密

使用的是 RSA+AES 混合加密:

  • RSA:非对称加密,生成一对公私钥,如果用公钥对数据进行加密,只有用对应的私钥才能解密;一般不建议分块做长文本加密,也没有关于长文本的行业标准;
  • AES:对称加密,加密和解密用相同的密钥。借助于 AES-CBC 实现长文本分区加密;
  • RSA+AES:
    1. 脚本中仅携带一个 RSA 公钥 KEY_1;
    2. 脚本随机生成一个 AES 密钥 KEY_2 来加密明文数据生成密文 DATA*;
    3. 用 RSA 公钥 KEY_1 来加密这个 AES 密钥 KEY_2 生成 KEY_2*;
    4. 输出 DATA* 和 KEY_2*。

理论上如果没有 KEY_1 所对应的 RSA 私钥 KEY_0,就没有办法解密 KEY_2* 和 DATE*。

这里直接使用 hybrid-crypto-js 模块来完成上述加密,作者以真实的个人完整密文来保证私钥不被泄露,私钥将永久保密

sHzjptp8f98bSHkUQvA6oUiaU7A3aPHwE/xj4Fx1pSM=:iCIxhcPSiNhXv/23BF0oz82seS0=:rup35hvVXZH2GdD9stE7ThhK74f26ghG9sYFcadQcnv6A6BHxTk5WU79QS/v2o8dnB+Wb+9lextGqp5mYlyP54schGMNsX4wL4ZNiXre1Gj3+3NaQC4loir9mN178+RMdbrQakj+gfhkqX5hiQCsaV/AP0ABnHrcTGLLnr2UXo11+R3e1OtzHyDvgM3WWy5dG4RVKbddTlOSiLDVDi4Hv26Vw8qeKyVooa2VgZA8jqs/7gDVExDEnIaREwDeSSxlxlIN+o+ErXtihm8Hv5E0N+vqiC5poF4jWISjDjWRtijC9vF887dOwIsW0SHdsWN6a9K4EaLn7Gr0F3CcLNS2AA==:Kw+6aQEWul+q3/UIMiDDLUKdYXTI/eghSI+H75A7FE/68YoMQCR5nyE1I56frMh7J7D/uQzDOluXGU4kya2Xj99hGLNvgiAFnRjSPfnKQL0vuS0FkCQCxIAqkmljP4U+2PiVwwJeZFU+dEUUYn7hgCfq6i+kg9o8Pu2K0131f1rlr9ipPdXNm4hkEdJSL+XXuUCpLVJ/QAg7ahG9Sog6MkcIz0tL4c1/bgcQBWhQLqxoCkZv1x4JRizTJZdb5960QJePU7wxUTbIV372wPLWnZpkhXDhKXp8eIkb3azl1YFQnxtokF+GiQom9kvnUEubSAqrh7ctNbmC2qY5CpNd17nIenOv6YFRfr0wmVCGmbyns40CSOpE4mDvt/8GmYjePF/L2LKMQVveTBmN//6vdSGZbo0PLWX7g4wSiDHYopwWL3FxIQV+6RR461GMgREpHeCkkmfKl0fzHk/+4/6pvj9CDiajr2Y96UOy3xUHpc4=

关于维权

希望这样的事情不会发生,截止当前,我所接受的申请数量为:0

如果您确有需求,请发送邮件至 rain-classroom-pdf-direct-download@pizyds.com,我将及时处理。要求提供您的教师主页链接(页面包含发件邮箱地址)、有疑问的 PDF 文件(详见技术细节)、PPT 原件(可部分)等证明材料。

技术细节

UI 界面里的 DRM 开关添加了一个 disable 属性,实际功能是完善的;

加密数据添加在了 PDF 首页图片的下方与 XMP 中;

脚本并非万能,道德仍看个人。

章鱼DS

学生网站代码通吃的草根,但总拼命着长出树根。

文章评论