允许用户指定密钥数据 #42
Labels
No Label
bug
crypto
duplicate
enhancement
help wanted
invalid
platform-android
platform-mac
platform-win
question
wontfix
No Milestone
No Assignees
2 Participants
Notifications
Due Date
No due date set.
Blocks
#40 [安卓] 酷我 mflac 格式支援
um/web
Reference: um/web#42
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?
文档更新:
实现:
注意:
mmkv
数据库,解析相对比较简单。酷我音乐mflac:database目录里kwplayer.db里的6字节密钥应该是解密密钥,如果真是这样,该如何操作进行解密?我如何指定密钥数据?
另外最新版mg3d文件解密失效,提示文件中没有key。
应该有上百个字符。db 文件请使用 sqlite 浏览器打开,移动端不清楚有没有工具可以浏览。
mg3d 无密钥解密其实是取巧,只有原文件是 wav 的情况下有一定概率能猜出来。别的格式应该都不行。
那么mg3d不是咪咕音乐更新了算法,而是秘钥猜不出来了吗?
可以提供密钥示例吗?我看QQ音乐的密钥就是六字节的
mg3d 的密钥是 32 字节。是 md5 一串数据后的结果。这个过程是通过逆向其他人的闭源解密工具后得到的。
下面是当时研究的细节:
这里的解密实现利用了 wav 文件头会有很多 00 字节的特性,配合 mg3d 使用的加密特性(每 32 字节一组来处理,每组使用相同密钥)来猜测对应密钥。因此如果阶级后的文件不是 wav 格式,那就猜不到了。
qq 音乐的密钥有 500+ 字节,去除密钥的混淆后,实际有效密钥也有 300+ 字节。你用 pc 客户端随便下一个文件看文件末尾的可读字符长度就是例子了。
你截图里的可能只是某一行数据的序列化后的结果。你应该使用 SQLite 数据库浏览器查看数据而不是十六进制编辑器。
该功能期待已久,现在进度如何
没有进展,在另一个仓库实现了。
um/um-react#20