实验 qmc2-crypto 包 #207
No reviewers
Labels
No Label
bug
dependencies
discuss
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
timeout
wontfix
No Milestone
No project
No Assignees
1 Participants
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: um/web-archived#207
Loading…
Reference in New Issue
No description provided.
Delete Branch "feature/qmcv2-wasm"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
使用
@jixun/qmc2-crypto
包进行 QMCv2 的解密。加了个 threads 包的补丁,不知道是不是我环境的问题,构建 production build 会出问题,要打上这个补丁。
TODO:
qmcMask.ts
未使用用到的导出函数待验证已验证)题外话:
package.json:fix-compatibility
也可以用patch-package
来自动处理。该 PR 完成后,预计能解决: #198 #193 #185 #51
这个是处理 旧版Edge 兼容性的,貌似现在也没啥人在用了 😂
👍 简单测试了一下,在
https://
,http://
,file://
都没问题但是构建为扩展程序时 wasm 无法使用
另外:靠Version(扩展名)去区分会有一点问题:Android有的版本会把 动态密钥(v2)的flac,以 qmcflac 的扩展名保存
我在 unlock-music/cli 里面 单纯依靠 Magic Footer 去区分
看来是这个动态建立带名称函数出问题了,一会发个新版本的包,看起来可以用
NO_DYNAMIC_EXECUTION=1
关掉这玩意。我去做一下检测,可以尝试用 v2 解密,失败就回退到 v1
实现了 v2 检测失败(magic 看起来不像 QMCv2 的情况下)回退到尝试 v1 的解密。
如果这个也失败了就报错(在后续的媒体文件 Parser 中解析错误而报错)
3b88d168b6
产生的 diff 有点不正常,等我回退一下。3b88d16
产生的 diff 不正常是因为在 node 14 的环境下执行了包的升级指令,v14 不支持lockfileVersion: 2
。切换到 v16 后能产生正常的 diff 了。
Great! All Works!