Python 音乐解密工具
Project description
Takiyasha
Takiyasha 是一个用来解密多种加密音乐文件的工具。
本项目是以学习和技术研究的初衷创建的,修改、再分发时请遵循 License。
Takiyasha 的设计灵感,以及部分解密方案,来源于 Unlock Music Project - CLI Edition。
Takiyasha 对输出数据的可用性(是否可以识别、播放等)不做任何保证。
重要事项
在 v0.4.2 之后的版本中,包的结构、行为、命令行调用等已经发生了翻天覆地的变化。
如果你曾针对 v0.4.2 或者之前的版本制作过脚本或工具,那么它们已经不再适用于当前版本(v0.6.0.dev1 及之后)。
如果你有使用 v0.4.2 的需求,按照以下步骤回滚:
- 卸载:
pip uninstall takiyasha
- 安装 v0.4.2:
pip install -U takiyasha==0.4.2
特性
- 跨平台:使用 Python 3 编写,只要系统中存在 Python 3.8 及以上环境,以及任意包管理器,就能安装并使用
- 支持的加密音乐文件格式:
- QQ 音乐
.qmc*
.mflac*
.mgg*
- 为以下加密文件提供部分支持,但不保证能成功解密:
- 从版本 18.57 及之后的 QQ 音乐 PC 客户端下载的
.mflac*
/.mgg*
文件 - 从版本 11.5.5 及之后的 QQ 音乐 Android 客户端下载的
.mflac*
/.mgg*
文件
- 从版本 18.57 及之后的 QQ 音乐 PC 客户端下载的
- 网易云音乐
.ncm
.uc!
(网易云音乐客户端的加密缓存文件)
- QQ 音乐
- 作为 Python 库使用时,针对主要功能,有完善的 docstring
- 作为 Python 库使用时,支持解密和实验性的反向加密
- 命令行调用方式(仅限解密,不支持反向加密)
- 自动根据文件内容探测文件的加密类型
- 基于多进程的多文件并行处理(默认行为)
- 自动补充解密后文件的标签信息(包括封面)
如何安装
Python 版本需求:大于等于 3.8
需要的依赖项:
- pyaes - AES 加解密支持
- colorama - 命令行输出中的颜色
- mutagen - 为输出文件写入标签和封面
- MusicTagFindUtils - 从网易云音乐和 QQ 音乐查找输出文件的标签信息和封面
- 版本号必须大于等于 v0.1.2
- requests - 网络请求库,用于下载封面信息
从 Pypi 安装(推荐)
执行命令:pip install -U takiyasha
从本仓库安装
执行命令:pip install -U git+https://github.com/nukemiko/takiyasha
从本仓库下载和安装已发布版本
- 进入此页面,下载最新版本
- 如果要下载其他版本(包括预发布版本),请直接前往历史发布页面寻找和下载
- 下载 Wheel 安装包(扩展名为
.whl
的文件) - 下载完毕后,执行命令:
pip install -U /path/to/package.whl
如何使用
命令行环境
简单易用:
takiyasha 1.ncm 2.qmcflac 3.mflac 4.mgg ...
使用 -t, --test
,只查看输入文件信息但不解密:
takiyasha -vt 1.ncm 2.qmcflac 3.mflac 4.mgg ...
使用 -f, --try-fallback
尝试解密“仅部分支持”的文件:
takiyasha -f hell.mflac damn.mgg
如果不加其他参数,解密成功的文件将会在当前工作目录(pwd
或 os.getcwd()
的值)下产生。
使用 -h, --help
获取完整的帮助信息,或者参见此处。
如果你的终端(Shell/PowerShell/CMD 等)出现了以下报错,或其他类似错误信息:
(bash)bash: takiyasha:未找到命令
(zsh)zsh: command not found: takiyasha
(CMD)'takiyasha' 不是内部或外部命令,也不是可运行的程序或批处理文件。
(PowerShell)takiyasha : 无法将“takiyasha”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。
请尝试改用 python -m takiyasha
。
在其他项目中作为 Python 库导入使用
敬请参见 Wiki 上的相关页面。
常见问题
敬请参见 Wiki 上的相关页面。
碰上了不常见的问题?前往 Issues 页面,查看是否存在相似问题,或者开一个 Issue。
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file takiyasha-0.7.0.tar.gz
.
File metadata
- Download URL: takiyasha-0.7.0.tar.gz
- Upload date:
- Size: 17.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.6.0 importlib_metadata/4.8.1 pkginfo/1.8.3 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.64.0 CPython/3.10.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ed951d5d111d88a6e61a4e74770cd0962cb05777b020a1ca265cad5b21f60ab7 |
|
MD5 | 488020bd814394a7624eabb99637454b |
|
BLAKE2b-256 | c6f0e21a637c749b851c02a51078a54012c4c1a8c4c27dc8348cb9fdb25f13d1 |
File details
Details for the file takiyasha-0.7.0-py3-none-any.whl
.
File metadata
- Download URL: takiyasha-0.7.0-py3-none-any.whl
- Upload date:
- Size: 18.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.6.0 importlib_metadata/4.8.1 pkginfo/1.8.3 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.64.0 CPython/3.10.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 170b98ff1610028075734518417ded7fe04f66c73c57878bd4f84524e48d93a4 |
|
MD5 | 51ed8276a446891c4ce32f88c88d2bdb |
|
BLAKE2b-256 | 3873b594ce2669ddf01c0101b891921a55eaa745697f830185240250fad57576 |