3.5 KiB
3.5 KiB
kgg-dec
酷狗 kgg
文件解密工具。
请尽量在下载文件的设备上操作,避免密钥丢失。
使用方法 (快捷)
- 双击
kgg-dec.exe
开始解密当前目录。
使用方法 (命令行)
- 启动
kgg-dec.exe
,其中第一个参数为含有kgg
文件的目录。 - 你也可以使用
--
来将参数后的-
开头的参数视为输入文件或目录。 - 你可以指定多项输入文件或目录。
其它参数
--scan-all-file-ext
(可选,0
或1
): 是否扫描所有文件后缀名。默认为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 ""
: 解密后不添加额外的后缀。
指定完参数后可以指定任意数量的文件或目录。
错误排查
- 需要至少播放一次
kgg
文件,并确保酷狗能正常播放。- 如果还是无效,请尝试使用酷狗重新下载,在同一个设备上进行下载与解密操作。
- 文件后缀名嗅探代码只支持:
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 或以上的版本内置该文件。