[Enhancement] ncm 格式 parse 猜测 #67
Labels
No Label
bug
crypto
documentation
duplicate
enhancement
good first issue
help wanted
invalid
platform-android
platform-mac
platform-win
question
wontfix
No Milestone
No project
No Assignees
2 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: um/cli#67
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
01 61
和01 70
,因此猜测其用于表示不同的客户端版本。01
,而后 cover 的长度重复两次。但是 CRC32 校验的是何字段尚不明晰,因此无法确定该部分的具体用途以及为何此时 cover 的长度重复。
如图是我正在试图编写的 010 Editor Template,其旨在帮助完整地分析该类文件结构。不知是否能一起明确上述部分以更好地分析文件。
以前写过一个模板,不过 crc 部分也是看别人写的,具体怎么样也不清楚。
https://github.com/parakeet-rs/parakeet-crypto-rs/blob/main/scripts/010editor/NCM.bt
至于重复的 cover length,我怀疑是可以指定多个 cover,因此第一个长度是整个区块的长度,而第二个是图片的长度。
当然,我没逆过他的主程序,因此也不知道具体是怎么实现的。
了解了,正在试图从 dll 逻辑跟进这部分。
此部分证实是 cover 之前的所有数据的分段特殊 CRC。因为不涵盖音频内容的校验,而本项目主要是获取音频,因此实现意义不大。