Skip to content

OpenConverter v0.2.0

Choose a tag to compare

@nowa277 nowa277 released this 16 Jun 10:19
· 89 commits to main since this release

New formats (4 format families added)

KWM (Kuwo Music, 酷我) — pure JS

  • 32-byte circular XOR cipher
  • Algorithm re-derived from davidxuang/MusicDecrypto (LGPL, re-implemented from scratch)
  • Round-trip test on real MP3 (ffprobe 2.06s) ✓

KGM / KGMA / VPR (KuGou) — pure JS

  • Pure-JS cipher + 4 small lookup tables (833 bytes total)
  • Re-implemented from huangbao/MyKgmWasm (MIT)
  • Round-trip test on real MP3 (ffprobe 2.06s) ✓
  • Audio format auto-detected from decrypted header (mp3/flac/ogg/wav/m4a)

QMCv2 (.mflac / .mgg / .bkc*) — pure JS, requires user ekey

  • Same XOR cipher as QMCv1 but 128-byte working key derived from user-provided ekey
  • key_compress formula cross-verified against ikun0014/pyqmc-rust test vector (128/128 bytes match)
  • New UI: Settings panel → "QQ Music ekey" field, persisted via electron-store
  • Clear error message if ekey is missing

BKC* (QQ Music desktop cache)

  • Trivial routing extension — same QMCv2 cipher
  • Supports: .bkc, .bkcmp3, .bkcflac, .bkcogg, .bkcm4a, .bkcwav, .bkcwma, .bkcape

Verified formats

Format Status Verification
.ncm ✅ verified 14/14 byte-diff against Python ncmdump
.qmc0, .qmc3 ✅ verified Round-trip on real MP3
.qmcflac ✅ verified Round-trip on real MP3
.qmcogg ✅ verified Round-trip on real MP3
.kwm ✅ implemented Round-trip on real MP3
.kgm, .kgma, .vpr ✅ implemented Round-trip on real MP3
.mflac, .mflac0 ✅ implemented Requires QQ Music ekey
.mgg, .mgg1 ✅ implemented Requires QQ Music ekey
.bkc* ✅ implemented Requires QQ Music ekey

Not yet supported

  • .qmcv2 / .qmc2 with header (QMCv2 marker) — requires per-file ekey from QQ Music client
  • QMCv2 files WITHOUT ekey (server-fetched songs) — cannot decrypt without QQ Music login

Install

# Debian/Ubuntu
sudo dpkg -i openconverter_0.2.0_amd64.deb
sudo apt-get install -f

# AppImage
chmod +x OpenConverter-0.2.0.AppImage
./OpenConverter-0.2.0.AppImage

Assets

  • openconverter_0.2.0_amd64.deb (70 MB) — Debian/Ubuntu x64
  • openconverter_0.2.0_arm64.deb (65 MB) — Debian/Ubuntu arm64
  • OpenConverter-0.2.0.AppImage (100 MB) — x64 portable
  • OpenConverter-0.2.0-arm64.AppImage (100 MB) — arm64 portable