< Chrome Extension: Video DownloadHelper > 获得 Premium 权限 Ver10.0.271.2

介绍:

这是一款在浏览器上非常流行的视频/音频下载插件。激活是<涉嫌广告删除>

图上传不了???

激发看代码的冲动

License 激活机制:

核心:

    1. JWT (JSON Web Token) - 基于 token 的授权系统
    1. ECDSA P-256 - 椭圆曲线加密签名,确保 token 无法伪造
    1. 公钥验证 - 扩展内置公钥,只能验证不能签发

激活流程

用户访问激活页面并输入激活码

↓

网页触发 "activate" 自定义事件

↓

injected/activate.js 监听事件并提取激活码

↓

通过 chrome.runtime.sendMessage 发送到 Service Worker

↓

Service Worker 请求 https://v10.downloadhelper.net:443/v2/entitlements/activate

↓

服务器验证激活码并返回签名的 JWT token

↓

扩展使用内置公钥验证 JWT 签名

↓

验证成功后存储到 chrome.storage.local

↓

解锁 Premium 功能

安全机制

  1. 非对称加密 - 只有服务器私钥能签发有效 token
  2. 扩展 ID 哈希白名单 - 防止克隆版本
  3. HTTPS - 所有通信加密
  4. 代码混淆 - 防止逆向工程
  5. 服务器端验证 - 关键逻辑不在客户端

120分钟限制

对免费用户 2小时(120分钟)冷却时间,限制 HLS/MPD 和 YouTube 下载频率。

实现位置

文件: service/main.js

函数: async function Ng(e,t,n)

时间常量: let a = 7200 * 1e3 = 7,200,000 毫秒 (2小时)

每次成功下载后,用文件(持久)存储计时,位置:C:\Users\<用户名>\AppData\Local\Google\Chrome\User Data\Default\Local Extension Settings\lmjnegcaeklhafolokijcfjliaokphfk\000003.log <- 是一个 LevelDB 数据库

检查逻辑:

是否为 Premium,是否过了2小时

意外发现:

在检查逻辑时在 async function Yh() 调用 getPlatformInfo() 来获得OS信息, Linux 和 OpenBSD 用户自动有 Premium 权限。

两条路

1) 绕过 7200 秒限制

找到 7200 , let a = 0,

2)添加 Premium 待遇,所有浏览器生效

找到第二个 async function Yh() , 添加 OS 进来,比如:win, mac

总结:

感谢软件作者,给开源系统免费使用这个插件。在商业 OS 中,可以使用 Linux 虚拟机,完全合法,不违反任何条款,自动获得 Premium 待遇。

<涉嫌广告删除>

写这篇文章针对 goofish 卖 "盗版"

相关推荐
afumu1 天前
把五个网页版 AI 拉进同一个群聊:不用 API key 的多 Agent 编排
人工智能·chrome·typescript
其实防守也摸鱼3 天前
个人学习 Pwn 思路:从基础到漏洞利用的进阶路径
大数据·前端·人工智能·chrome·算法·安全·网络安全
李长渊哦4 天前
Qoder 自定义子智能体(Subagent)学习笔记
chrome·笔记·学习
来让爷抱一个5 天前
Linux 磁盘 100% 但 du 查不出东西,五种情况逐个排
linux·网络·chrome
无情的西瓜皮6 天前
Win11 26H2 升级路线怎么选:先查版本,再看先决条件
windows 11·powershell·系统更新
不在逃避q6 天前
Chrome 扩展安全攻防实录:从攻击面到防御实践
前端·chrome·安全
10岁的博客7 天前
Chrome 扩展安全攻防实录:从权限模型到真实漏洞复盘
前端·chrome·安全
其实防守也摸鱼7 天前
Chrome 扩展安全攻防实录:从攻击面到防御实践
开发语言·前端·网络·chrome·安全·web安全·php
web打印社区7 天前
Lodop排障总纲-常见报错一张表
开发语言·前端·javascript·chrome·websocket
super_Omni8 天前
text/PDF/Word → 解析成纯文本 → 分词 → 词表匹配 → 加权打分 → 低于阈值
前端·chrome