好友
阅读权限10
听众
最后登录1970-1-1
|
本人最近正在尝试实现NCM文件的加密流程,即从flac文件加密为ncm文件,但是加密后的ncm文件虽然能够成功被ncmdump软件解密,却无法在网易云音乐正常播放。
我的加密流程是按照yoki123大佬的NCM结构图进行的。
我发现,其中的2 bytes gap在每个ncm文件中都是相同的(都为“\x01p”),而5 bytes gap却不尽相同,而且后面的image cover CRC也与实际计算出的不符。
经过观察发现,5 bytes gap中的前4bytes不同,但第5个始终为"\x01",因此我在计算过程中将其去除,我们暂且将去除第5个byte的gap命名为part1
将图中image cover CRC命名为part2,然后进行试验:
歌曲【III epilogue (杀人考察(后))】ID:590521, part1=0xe1f79d83,part2=0xace13,我计算的Cover CRC是:0x32a03f76
歌曲【Last (Moment)】ID:1965041413,part1=0x43238882,part2=0xd2460,我计算的Cover CRC是:0xe6c0be35
一番尝试下来,发现无论是part1还是part2,与图片的CRC都没有关系,以防万一,我还计算了解密出flac文件的CRC,也不尽相同。
不仅如此,我在编写加密脚本时还发现了一个奇怪的地方:
本人是参考这个脚本:https://github.com/QCloudHao/ncmdump写得加密脚本的,然而在这位大佬的代码中,CRC32部分似乎在5 bytes gap之前就被取出了,这与yoki123大佬的NCM结构图不一致。
实在搞不明白了,故求各位大神指点! |
免费评分
-
查看全部评分
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|