qmcdump:3条命令把QQ音乐qmcflac/qmc0/qmc3解密成标准flac/mp3
【免费下载链接】qmcdump一个简单的QQ音乐解码(qmcflac/qmc0/qmc3 转 flac/mp3),仅为个人学习参考用。项目地址: https://gitcode.com/gh_mirrors/qm/qmcdump
你刚下载完一首歌,兴冲冲拷到U盘想车上听,车载屏幕却提示"格式不支持"——问题就出在文件后缀是 .qmcflac 或 .qmc0,那是QQ音乐的加密格式。qmcdump 是一个轻量级的QQ音乐解密工具,能把 qmcflac/qmc0/qmc3 转回标准 flac/mp3,只做解密、不重新编码,音频数据一个字节都不动。
📌 qmcdump 工具速览与能力对照
qmcdump 是一个 C++ 编译出的单文件可执行程序,面向多设备听歌和离线听歌的人:它对加密文件做可逆的异或解密,把数据还原成标准音频流,整个过程就是一条命令的事。
| 项目 | 说明 |
|---|---|
| 支持输入 | .qmcflac / .qmc0 / .qmc3 |
| 输出格式 | qmcflac→flac,qmc0/qmc3→mp3,自动映射 |
| 处理方式 | 逐字节异或解密,不重编码,音质无损 |
| 处理速度 | 8KB 缓冲区流式处理,一首歌文件秒级完成 |
| 运行环境 | macOS / Linux 直接 make,Windows 可用 C++17 编译器自行编译 |
| 隐私 | 全程本地处理,文件不出机器 |
🚀 qmcdump 从零到跑通的最小路径
三步走,没有任何第三方依赖,只需要系统装有 g++。
先克隆仓库并进入目录:
git clone https://gitcode.com/gh_mirrors/qm/qmcdump cd qmcdump然后编译。makefile 里已经配好g++ -std=c++17 -O3,macOS 和 Linux 下直接执行:
make如果想把它变成全局命令(安装到 /usr/local/bin),再跑一条make install即可。
现在跑通第一个文件,把加密的 qmcflac 转成 flac:
./qmcdump ~/Music/song.qmcflac ~/Music/song.flac终端打印Dumped to ...就成功了,输出文件丢给任意播放器直接能放。
🔍 qmcdump 核心功能拆解:从单文件到整目录
单文件一键转换
只给输入路径不给输出路径时,qmcdump 会自动改后缀并输出到同目录:qmcflac 变成 flac,qmc0 和 qmc3 变成 mp3,你连输出文件名都不用想。
./qmcdump song1.qmc0实现上就是在convertName里按最后一个点切分文件名,替换扩展名后交给解密函数。
整目录批量处理
把参数换成目录,就会扫描该目录下所有 qmc 加密文件逐个转换;输出目录不存在时会询问你是否创建,还支持多级目录一次建好。
./qmcdump ~/QQMusic/ ~/Decrypted/省掉的是你挨个敲文件名的时间,一次命令清掉整个文件夹。
自动识别文件类型并映射格式
程序先判断输入是文件还是目录,再按扩展名决定输出格式;遇到不认识的扩展名会打印警告并默认当 mp3 处理,批量任务中途不会因为一个怪文件直接崩掉。解密核心逻辑很短,就一张 512 字节的密钥表和一段循环异或,放在 src/crypt.cpp,好奇实现可以翻一眼。
⚙️ qmcdump 进阶组合:脚本批处理子目录
目录模式只处理当前层级,不递归。如果你的曲库是按"歌手/专辑"分了子目录,可以配 find 先展开文件再逐个交给 qmcdump,这就是组合的原因——补上它不递归这一环:
find ~/Music -name "*.qmc*" | while read f; do ./qmcdump "$f" "${f%.*}.flac" done转换完想快速抽听,装个 ffmpeg 后ffplay 歌曲.flac就能即时验证结果。
⚖️ qmcdump 与在线转换工具、手动解密的对比
| 维度 | qmcdump | 在线转换工具 | 手动异或解密 |
|---|---|---|---|
| 速度 | 本地秒级 | 受网速限制 | 看个人水平 |
| 批量能力 | 整目录一条命令 | 多为单文件 | 基本不可行 |
| 隐私 | 文件不上传 | 必须上传 | 本地 |
| 音质 | 无损(异或解密可逆) | 可能重编码 | 做对则无损 |
| 成本 | 免费开源 | 部分有限额 | 免费 |
如果你的诉求是"一次清掉整个文件夹的加密歌曲,又不想把文件传到任何服务器上",选 qmcdump 更合适。
🛠️ qmcdump 常见报错与使用疑问
Q:报opening file ... failed是怎么回事?A:输入路径不存在或没有读权限。先核对路径里的空格和中文引号是否转义正确,再确认文件本身可读。
Q:qmc0 能直接转出 flac 吗?A:不能。映射是固定的:qmcflac→flac,qmc0/qmc3→mp3。输出格式由文件内部编码决定,qmcdump 只拆加密层,不做转码。
Q:目录模式会递归子目录吗?A:不会,只处理当前一层。需要递归就配 find 或写个循环,参考上面的脚本。
Q:解密后的音质和原文件一样吗?A:一样。异或解密是可逆操作,数据逐字节还原,音频内容本身没有被改动。
🏁 现在就动手:3条命令开始解密
回到开头那台车机——转完之后的 flac 和 mp3,拷进U盘就能直接放。
git clone https://gitcode.com/gh_mirrors/qm/qmcdump && cd qmcdump make ./qmcdump ~/你的音乐文件夹/ ~/解密后的文件夹/小提醒:请只对自己购买或拥有合法使用权的音乐文件做解密,支持正版。
【免费下载链接】qmcdump一个简单的QQ音乐解码(qmcflac/qmc0/qmc3 转 flac/mp3),仅为个人学习参考用。项目地址: https://gitcode.com/gh_mirrors/qm/qmcdump
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考