.ncm 的破解

2021-05-13 22:37:44 +08:00
 VagrantZ
Github 上已经有数个.ncm 的破解项目了,比较好奇的是 AES 加密的密钥是直接给出的,最初应该怎么得到的呢?
逆了播放器吗?希望有大佬指教一下实操。
1950 次点击
所在节点    信息安全
3 条回复
mons
2021-05-14 04:38:57 +08:00
以 Win 桌面端 2.8.0 (Build 198822) (Patch: 1:8b14738) 为例,两个 128-bit key hardcode 在 cloudmusic.dll 的 .rdata +13A998h 和 +1464DCh

第一个 key 用来解 master key,再用 master key 解音频数据。第二个 key 解 ncm header 里的 metadata
delectate
2021-05-14 13:07:24 +08:00
https://github.com/yoki123/ncmdump/issues/15

至于第一个人怎么拿到 key 的,应该是反编译官方播放器客户端拿到的,原因如下

播放器也需要读取 ncm 格式,客户端就包含有解密逻辑
解密算法是 AES,是对称加密
恰巧所有的文件都使用了相同的 AES key,那么 key 在客户端播放器中就是一个常量
VagrantZ
2021-05-15 13:07:26 +08:00
@mons 非常感谢

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/776806

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX