腾讯旗下的《QQ 音乐》新版本所使用的加密,姑且称之为 QMCv2。
QMC v1 相关的内容可以在 QMCv1 解密 找到。
支持下述客户端下载的加密文件:
- Windows PC 客户端当前版本 (2022.12 / v19.02)
- Mac 客户端旧版本 (2022.07 / v8.3.1)
- 安卓客户端旧版本 (2021.12 / v11.5.1)
※ 注:自 v0.0.9 版本开始,这个工具不再内嵌解密所需要的密钥。
你可以参考百科常见问题#解密密钥获取获取详细信息。
命令行工具使用
如果需要批量解密,需要自行编写脚本调用编译的可执行程序。
你可以参考项目百科:批量转换
- GitHub:
jixunmoe/qmc2
(C++) | 最新版本
./QMC2-decoder "<seed>" "<mix_key_1>" "<mix_key_2>" "encrypted_file.mflac" "decrypted.flac"
其中,seed
与 mix_key
需要你自行逆向 PC 客户端获取。
若是只需要解密旧版本客户端的文件,mix_key
传入空字符串即可。
网页版工具使用
网页版使用的解密代码与原生实现为同一份,使用 emscripten (C++) 将代码转义至 WebAssembly。
使用方法也很简单,按下按钮后选择文件,或将文件拖放到网页即可。每次处理一个文件。
致谢
unlock-music
项目unlock-mflac-20220931
- zeroclear 提供的 EncV2 逆向思路。qmc2
项目的贡献者
更新记录
- 2022.11.06 - v1.0.0-R1 修正错误报告解密失败为解密成功的错误。
- 2022.11.06 - v0.0.9-R1 清理仓库内置的密钥。现在需要传入密钥来解密。
- 2022.10.09 - v0.0.8-R1 对不支援的文件提供更友好的错误信息。
- 2022.10.02 - v0.0.7-R1 支持 PC 端最新的 QMC2-EncV2 加密。
- 2021.12.25 - v0.0.6-R1 输出 SongID 信息 (如果有)、检测第二参数能否写出。
- 2021.12.14 - v0.0.4 添加 CI 自动构建。
- 2021.12.13 - v0.0.3 小修正 - 支援安卓端
QTag
结尾的文件。 - 2021.12.12 - v0.0.2 小修正 - 支援 PC 端加密的文件。
- 2021.12.12 - v0.0.1 勉强能用。