Skip to content

支持的格式以及所需的参数

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 table1table2tablev2
(VPR 文件)VPR 密钥 vpr_key
酷我音乐 KWM 核心密钥 core_key 主密钥 master_key,仅限你知道的情况下使用

**“仅限你知道的情况下使用”是指:仅限你知道主密钥的内容,并且清楚此参数会被 LibTakiyasha 直接使用,而不是在打开文件时寻找主密钥的情况下,提供此参数。

*** 来自版本 11.5.5 及以上的 QQ 音乐安卓客户端的 QMCv2 文件没有内嵌主密钥,需要你自己从其他地方找出主密钥,作为参数 master_key 提供。