KGG 解密工具。注意此处为只读镜像,更改会被自动推送覆盖。 https://git.unlock-music.dev/um/kgg-dec/releases/latest
Go to file
2024-12-22 01:53:34 +09:00
.idea update .idea ignore rule 2024-10-18 08:50:00 +09:00
cmake build: use existing sqlite3 / openssl when enabled. 2024-12-22 01:53:17 +09:00
src refactor: various fixes 2024-12-22 01:36:14 +09:00
third-party build: use existing sqlite3 / openssl when enabled. 2024-12-22 01:53:17 +09:00
.clang-format inital commit 2024-10-17 09:50:14 +09:00
.editorconfig inital commit 2024-10-17 09:50:14 +09:00
.gitattributes refactor: work without infra.dll, native 64 bit build. 2024-12-20 11:03:16 +09:00
.gitignore build: use existing sqlite3 / openssl when enabled. 2024-12-22 01:53:17 +09:00
CMakeLists.txt chore: bump version to v0.6.1 2024-12-22 01:53:34 +09:00
CMakePresets.json refactor: get linux build 2024-12-21 13:23:44 +09:00
Jenkinsfile refactor: work without infra.dll, native 64 bit build. 2024-12-20 11:03:16 +09:00
LICENSE docs: add license 2024-11-26 06:17:03 +09:00
README.MD docs: update build command examples 2024-12-22 01:53:34 +09:00

kgg-dec

酷狗 kgg 文件解密工具。

请尽量在下载文件的设备上操作,避免密钥丢失。

使用方法 (快捷)

  1. 双击 kgg-dec.exe 开始解密当前目录。

使用方法 (命令行)

  1. 启动 kgg-dec.exe,其中第一个参数为含有 kgg 文件的目录。
  2. 你也可以使用 -- 来将参数后的 - 开头的参数视为输入文件或目录。
  3. 你可以指定多项输入文件或目录。

其它参数

  • --scan-all-file-ext (可选,01): 是否扫描所有文件后缀名。默认为 0,只扫描 kgg 文件。
  • --db (可选): 指定 KGMusicV3.db 的路径。默认为 %AppData%/Kugou8/KGMusicV3.db
  • --suffix (可选): 指定解密后文件的后缀。默认为 _kgg-dec

使用示例

  • kgg-dec.exe "D:\Music": 解密 D:\Music 目录下的所有 *.kgg 文件。
  • kgg-dec.exe "D:\Music" "D:\KGG\1.kgg": 解密 D:\Music 目录下的所有 *.kgg 文件,以及 1.kgg
  • kgg-dec.exe "D:\Music" --scan-all-file-ext 1: 尝试将 D:\Music 目录下的所有文件视为 kgg 文件来解密。
  • kgg-dec.exe "D:\Music" --suffix "": 解密后不添加额外的后缀。

指定完参数后可以指定任意数量的文件或目录。

错误排查

  1. 需要至少播放一次 kgg 文件,并确保酷狗能正常播放。
    • 如果还是无效,请尝试使用酷狗重新下载,在同一个设备上进行下载与解密操作。
  2. 文件后缀名嗅探代码只支持:ogg / flac
    • 其他格式会被识别为 mp3

构建

在 Windows 下使用 CMake + Visual Studio 2022 构建。

第一次构建前请到 third-party/sqlite3 目录下执行 fetch_sqlite3.sh,或手动下载源码放置到对应的位置。

然后就可以利用 CMake 构建了:

cmake --preset vs -DCMAKE_BUILD_TYPE=Release
cmake --build --preset vs-release --config Release
copy /y README.MD .\\build\\vs2022\\

CMake 参数

CMake 支持以下参数:

  • USE_WIN_SQLITE3 - 使用 Windows 内置的 SQLite3 链接库(仅限 Windows + MSVC 编译环境)。
  • USE_WIN_CRYPTO - 使用 Windows 内置的加密/哈希实现,而非软件实现(仅限 Windows 目标)。
  • USE_SYSTEM_SQLITE3 - 使用外部的 SQLite3 实现 (Debian: libsqlite3-dev),找不到时会报错。
  • USE_OpenSSL - 使用 OpenSSL 的加密/哈希实现 (Debian: libssl-dev),找不到时会报错。

Ubuntu 下编译发布版,不使用外部库:

cmake -G "Ninja Multi-Config" -B build/linux-all -DUSE_SYSTEM_SQLITE3=0 -DUSE_OPENSSL=0
cmake --build build/linux-all --config Release -j

Ubuntu 下编译发布版,链接到现有的库:

cmake -G "Ninja Multi-Config" -B build/linux-ext -DUSE_SYSTEM_SQLITE3=1 -DUSE_OPENSSL=1
cmake --build build/linux-ext --config Release -j

第三方软件

该程序用到了以下第三方软件:

  • SQLite3 (Public Domain)
  • Tiny AES in C (Public Domain)
  • MD5.c (from FreeBSD)
    • Derived from the "RSA Data Security, Inc. MD5 Message-Digest Algorithm".

Windows 7 用户注意

请从 SQLite 官网下载 sqlite-dll-win-x64-*.zip 并将压缩包内的 sqlite3.dll 放置到 kgg-dec.exe 同目录下,并更名为 winsqlite3.dll

Windows 10 或更新版本不需要此操作,因为 Windows 10 或以上的版本内置该文件。