What changed
- New format support:
.qmc0 / .qmc3 → MP3, .qmcflac → FLAC, .qmcogg → OGG (QQ Music cache formats)
- Algorithm from three independent public references cross-checked (presburger/qmc-decoder C++ state machine, bczhc/qmc-decrypt Rust, manual trace)
- Self-verifying round-trip test: encrypts real MP3 with the same algorithm, decrypts, verifies byte-for-byte identity and validates output via ffprobe
Verified formats
| Format |
Status |
Notes |
.ncm (NetEase) |
✅ verified |
14/14 samples byte-diff against Python ncmdump |
.qmc0, .qmc3 (QQ Music cache) |
✅ implemented |
Algorithm verified by round-trip test |
.qmcflac (QQ Music cache) |
✅ implemented |
Same algorithm as qmc0 |
.qmcogg (QQ Music cache) |
✅ implemented |
Same algorithm as qmc0 |
.kgm / .kgma / .vpr (KuGou) |
❌ not implemented |
Only public reference has suspected OOB reads; no samples to validate |
.kwm (Kuwo) |
❌ not implemented |
No public algorithm available |
.bkc* / .vpr / .mflac* / .mgg* |
❌ not implemented |
Various QQ/KuGou variants |
Download
openconverter_0.1.1_amd64.deb — Debian/Ubuntu x64
openconverter_0.1.1_arm64.deb — Debian/Ubuntu arm64
OpenConverter-0.1.1.AppImage — x64 portable
OpenConverter-0.1.1-arm64.AppImage — arm64 portable
Install
# Debian/Ubuntu
sudo dpkg -i openconverter_0.1.1_amd64.deb
sudo apt-get install -f # resolve any missing deps
# AppImage
chmod +x OpenConverter-0.1.1.AppImage
./OpenConverter-0.1.1.AppImage