Crates.io | ncmmiao |
lib.rs | ncmmiao |
version | 2.3.8 |
source | src |
created_at | 2024-11-17 04:01:50.71697 |
updated_at | 2024-11-23 18:00:58.977494 |
description | A magic tool convert ncm to flac |
homepage | |
repository | https://github.com/lkhsss/ncmmiao |
max_upload_size | |
id | 1450884 |
size | 117,999 |
一个使用Rust语言编写的ncm文件解密工具(第一!😆)。
cargo build -r
支持单一文件,多文件夹递归批量解密。
ncmmiao [OPTIONS]
Options:
-w, --workers <WORKERS> 最大线程数 约束逻辑在主函数
-i, --input <输入文件/文件夹> 需要解密的文件夹或文件
-o, --output <输出文件夹> [默认: NcmmiaoOutput]
输出文件夹在output。等我想写了再写命令行解析(bushi。 写了写了
信息 | 大小 | 作用 |
---|---|---|
Magic Header | 8 bytes | 文件头 |
Gap | 2 bytes | |
Key Length | 4 bytes | RC4密钥长度,字节是按小端排序。 |
Key Data | Key Length | RC4密钥 |
Music Info Length | 4 bytes | 用AES128加密后的音乐相关信息的长度,小端排序。 |
Music Info Data | Music Info Length | Json格式音乐信息数据。 |
Gap | 5 bytes | |
CRC校验码 | 4 bytes | 图片的CRC32校验码,小端排序。 |
Image Size | 4 bytes | 图片的大小 |
Image Data | Image Size | 图片数据 |
Music Data | 音乐数据 |
用AES128加密后的RC4密钥。
Json格式音乐信息数据。
RC4-KSA生成S盒。
用S盒解密(自定义的解密方法),不是RC4-PRGA解密。