把 QMC2 加密的 .mgg/.mflac 还原成可播放音频
29.9/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/27 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add evesystem/qmc-audio-decrypt该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:仅索引
是什么
dsh 原生插件 · platform
装得上吗
本站尚未做安装检查
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 9 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0⚪ 扫描:无法判定尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0已尝试扫描但取不到可分析的源码:仓库或包不存在、已删除,或为非 JS/TS 实现、未随包发布源码。无法判定,不代表安全。
- · 包内无可扫 JS
- · TS 源码(可能为非 JS 实现或未发布源码),无法判定
扫描于 2026/11/4(0 天前) · 范围 全包扫描(包内未声明入口) · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
把 QMC2 加密的音频文件(.mgg/.mflac)解密回可播放的 OGG/FLAC。纯 Python 实现:TC-TEA 密钥派生 + QMC2 Map/RC4 流密码。以 DeepSeek Harness 智能体技能的形式提供。
README
由 DeepSeek 最新模型翻译生成qmc-audio-decrypt
把 QMC2 加密的音频文件(.mgg / .mflac)解密还原成可直接播放的 OGG / FLAC,按需再转 MP3 / WAV。
解密 QMC2 加密的音频文件(.mgg / .mflac),还原成纯 Ogg Vorbis / FLAC,可选再编码为 MP3。
纯 Python 实现,不依赖外部加密库:TC-TEA + QMC2 Map/RC4 流密码。
.mgg 不是一种音频编码,而是 QMC2 加密的 Ogg Vorbis;.mflac 是 QMC2 加密的 FLAC。所以「转换」的本质是解密 + 换扩展名,不需要重新编码,原始音频流本身是完好的。
展开完整文档(README 剩余 1 节)
qmc-audio-decrypt 把 QMC2 加密的音频文件(.mgg / .mflac)解密还原成可直接播放的 OGG / FLAC,按需再转 MP3 / WAV。 解密 QMC2 加密的音频文件(.mgg / .mflac),还原成纯 Ogg Vorbis / FLAC,可选再编码为 MP3。 纯 Python 实现,不依赖外部加密库:TC-TEA + QMC2 Map/RC4 流密码。 .mgg 不是一种音频编码,而是 QMC2 加密的 Ogg Vorbis;.mflac 是 QMC2 加密的 FLAC。所以「转换」的本质是解密 + 换扩展名,不需要重新编码,原始音频流本身是完好的。 特性 - 自动识别三种文件尾部:QTag(ekey 内嵌)、V1(原始 key 内嵌)、musicex(需外部 ekey) - 内嵌密钥 → TC-TEA(16 轮,EncV1 / EncV2 两代格式)→ 128~256 字节密钥 - 短密钥走 Map 流密码(numpy 向量化,12 MB 约 2 秒;无 numpy 自动退回纯 Python) - 长密钥走 RC4 变体 - 解密后自校验:魔数、Ogg 页序列连续性、结尾对齐;--crc 可逐页校验 - 一条命令顺带转 320 kbps MP3(自动寻找 ffmpeg,含 imageio-ffmpeg 兜底) - 零第三方依赖(除可选的 numpy / imageio-ffmpeg) 用法 解密:song.mgg -> song.ogg python scripts/qmc_decrypt.py "song [qmms2].mgg" 指定输出名 python scripts/qmc_decrypt.py "song.mgg" -o "Dennis Kuo - Ever Eternity.ogg" 只看文件结构,不解密 python scripts/qmc_decrypt.py "song.mgg" --info 解密 + 逐页 CRC 校验(怀疑文件损坏时用) python scripts/qmc_decrypt.py "song.mgg" --crc 解密 + 直接转 320k MP3 python scripts/qmc_decrypt.py "song.mgg" --to-mp3 musicex 格式:ekey 不在文件里,需要自己提供 python scripts/qmc_decrypt.py "song.mgg" --ekey "<base64 ekey>" 典型输出: [file] Dennis Kuo - Ever Eternity [qmms2].mgg size=12146287 footer=qtag audio_bytes=12145905 [footer] song_id=8557419 ekey_len=364 [key] derived=256 bytes -> MAP cipher [out] wrote Dennis Kuo - Ever Eternity.ogg (12145905 bytes, head=b'OggS') [verify] ogg pages=2759 serials=1 stream_end_exact=True 支持范围 | 扩展名 | 内容 | 输出 | 状态 | | .mgg .mgg0 .mgg1 .mggl | QMC2 + Ogg Vorbis | .ogg | ✅ 实测通过 | | .mflac .mflac0 .mflach | QMC2 + FLAC | .flac | ✅ 算法一致 | | .qmc0 .qmc2 .qmc3 .qmcflac .qmcogg | 早期 QMC1(固定异或表,无 ekey) | — | ❌ 不在范围内 | QMC1 是另一套算法,用本工具的流程去解只会得到噪声,请改用 unlock-music 等带 QMC1 实现的工具。 工作原理 文件尾部 → 提取 ekey → TC-TEA 解密 → 派生 256B 密钥 → Map/RC4 流解密 → 原始音频流 三种尾部布局: QTag: [加密音频][ekey,song_id,ver][u32 BIG-ENDIAN 长度 L]["QTag"] V1: [加密音频][原始 key 字节 K][u32 LITTLE-ENDIAN K] musicex: [加密音频][176 B 元数据][u32 footer_size=192][u32 version=1]["musicex\0"] 密钥派生与密码细节见 references/qmc2-algorithm.md:TEA 的 PadLen|Padding|Salt|Body|Zero(7) 块链规则、SIMPLE 常量、Map 掩码公式、RC4 分段规则,以及一个完整的回归样例(输入/输出大小、页数、SHA-256)。 最常见的坑 Map 掩码的下标是 offset if offset <= 0x7FFF else offset % 0x7FFF。若把 0x7FFF 那一个字节也写成 offset % 0x7FFF,它会算成 0 —— 只错 1 个字节,症状却是「全文件仅 1 页 Ogg CRC 不匹配、其余 2758 页全对」。看到这个症状先查取模边界,不要去「修复」 CRC,那只会把 bug 藏起来。 测试 python tests/test_qmc.py 覆盖:TC-TEA 官方测试向量、SIMPLE 常量、三种尾部解析、Map 的 0x7FFF 边界与 numpy/纯 Python 一致性、RC4 往返。全部离线,不需要样本文件。 目录结构 . ├── SKILL.md # agent skill 入口(触发条件 + 流程 + 排错) ├── scripts/qmc_decrypt.py # 全部实现,也可当独立 CLI 用 ├── references/qmc2-algorithm.md# 算法细节与回归样例 └── tests/test_qmc.py # 自测 SKILL.md 的存在意味着这个仓库同时是一个 DeepSeek Harness 风格的 agent 技能:把目录放进 ~/.dsh/skills/ 或项目的 .dsh/skills/,agent 遇到 .mgg 文件时会自动加载并按流程处理。 免责声明 本项目仅用于处理你本人合法获取的音频文件(自己购买或下载的音乐),目的是让这些文件能在自己的设备上正常播放与剪辑。 - 请勿用于绕过付费、传播他人作品或任何侵犯版权的用途。 - 解密后的音频仍受原始版权约束,不因格式转换而改变。 - 使用者需自行承担合规责任;作者不对任何滥用行为负责。 参考与致谢 - ownlight6/qmc-decoder —— QMC1/QMC2 的 Rust 实现与尾部格式分析,本项目的 Python 移植蓝本 - tc_tea crate —— TC-TEA 的填充与块链规则定义,含官方测试向量 - unlock-music —— 同类工具的完整参考实现 License MIT
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
evesystem/qmc-audio-decrypt
把 QMC2 加密的 .mgg/.mflac 还原成可播放音频
相关插件 · 平台集成
智能体工程课walkinglabs/learn-harness-engineering
一门项目制课程,教你搭建环境、管理状态、做验证、加控制机制,让 AI 编程智能体稳定干活。
★ 21,155已汉化DSH
71.7
视频翻译配音liuzhao1225/YouDub-webui
开源视频本地化工作台:导入视频,识别、翻译并逐句克隆原声,生成字幕和配音成片。
★ 5,792已汉化Cordis
71.4
失败经验库Ikalus1988/MisakaNet
📚 零依赖、由 git 支撑的微课程库,让 AI 智能体异步分享并检索经过验证的调试经验。| https://misakanet.org
★ 550已汉化DSH
71.2
IM 机器人接入xmanrui/dsh-im
让 DeepSeek Harness 触手可及 Connecting DeepSeek Harness
★ 3,170已汉化DeepSeek 客户端
71
桌面智能体工作区freestylefly/wesight
WeSight 是开源桌面控制台,面向本地 AI 智能体。它帮你安装或复用 Claude…
★ 933已汉化MCP
71
中国平台研究引擎Jesseovo/last30days-skill-cn
给 AI Agent 的中文互联网研究 Skill:检索 8 大平台最近 30…
★ 2,041已汉化DSH
70.7
这是你的仓库?认领条目