-
Notifications
You must be signed in to change notification settings - Fork 31
支持的格式以及所需的参数
nukemiko edited this page Feb 10, 2023
·
2 revisions
以下列出了 LibTakiyasha 支持的 4 种加密文件格式,以及打开和操作它们所需的参数。
要打开一个加密文件,使用对应的加密文件对象的 open()
方法(以 NCM 为例):
>>> import libtakiyasha
>>> ncmfile = libtakiyasha.ncm.NCM.open('source.ncm', core_key=b'YourNCMCoreKey')
>>>
以上代码中,关键字参数 core_key
是打开文件所必需的。
在此查看更多使用方法和示例。
加密文件来源 | 常见文件名特征 (Glob 表达式,不区分大小写) |
---|---|
网易云音乐 | *.ncm |
QQ 音乐 QMCv1 |
*.qmc[0-9] 、*.qmcflac 、*.qmcogg 、*.qmcra 等 |
QQ 音乐 QMCv2 | 任何扩展名以 .mflac 或 .mgg 开头的文件 |
酷狗音乐 KGM/VPR* |
*.kgm 、*.vpr
|
酷我音乐 KWM | *.kwm |
* 目前不支持保存通过 KGMorVPR.new()
新建的 KGM 或 VPR 文件。
你需要使用特定的密钥才能通过 LibTakiyasha 打开、操作和保存加密文件。
以下是对应加密文件格式所需的密钥和参数,需要在通过加密文件对象类的 open()
方法打开文件时提供:
加密文件来源 | 必需参数 | 可选参数 |
---|---|---|
网易云音乐 | 核心密钥 core_key
|
元数据密钥 tag_key 主密钥 master_key ,仅限你知道的情况下使用** |
QQ 音乐 QMCv1 | 主密钥 mask
|
|
QQ 音乐 QMCv2 | (任何情况下)核心密钥 core_key (文件来自版本 18.57 以上的 QQ 音乐 PC 客户端)混淆密钥列表 garble_keys (文件来自版本 11.5.5 及以上的 QQ 音乐安卓客户端***)主密钥 master_key
|
数据加密方法 encrypt_method ,仅限提示你添加此参数时使用主密钥 master_key ,仅限你知道的情况下使用** |
酷狗音乐 KGM/VPR | (任何情况下)解码表 1、2、V2 table1 、table2 、tablev2 (VPR 文件)VPR 密钥 vpr_key
|
|
酷我音乐 KWM | 核心密钥 core_key
|
主密钥 master_key ,仅限你知道的情况下使用 |
**“仅限你知道的情况下使用”是指:仅限你知道主密钥的内容,并且清楚此参数会被 LibTakiyasha 直接使用,而不是在打开文件时寻找主密钥的情况下,提供此参数。
*** 来自版本 11.5.5 及以上的 QQ 音乐安卓客户端的 QMCv2 文件没有内嵌主密钥,需要你自己从其他地方找出主密钥,作为参数 master_key
提供。