< 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 卖 "盗版"

相关推荐
写代码的学渣8 小时前
Linux 彻底清空历史命令 & 恢复历史命令(完整版、重启永久生效)
linux·运维·chrome
都想学10 小时前
我把 12 个在线工具关掉了,换成了一个 Chrome 扩展
前端·chrome
IDIOT___IDIOT1 天前
Windows 解锁后 Chrome 弹出白屏的排查与修复
前端·chrome
小米渣的逆袭2 天前
Chrome Extension Script World(ISOLATED / MAIN)原理与适用场景
前端·javascript·chrome
程序边界3 天前
lac_agent自愈链路下篇——从systemd托管到真正的自愈
前端·javascript·chrome
牛奶11 天前
如何自己写一个浏览器插件?
前端·chrome·浏览器
程序猿阿伟20 天前
《Chrome离线扩展安装的底层逻辑与场景落地指南》
服务器·网络·chrome
之歆20 天前
现代 HTTP 客户端深度解析:Fetch 与 Axios
chrome·网络协议·http
現実逃避と20 天前
WIN10 Edge连续关闭多个标签页导致资源管理器崩溃临时解决办法
前端·edge
ziyitty20 天前
MiMoCode 配置 “Unrecognized key: mcpServers“ 问题解决方案
前端·chrome