新用户免费领取豆瓣FM的三天VIP,如何提取歌曲的密钥?

Author: papjiang - Posted:6个月前 - View:722

一直在用酷狗概念版,因为听歌三分钟就可以领取一天VIP,需要下载VIP歌曲时真能救急。今天无意间下载了豆瓣FM,看到了新用户

可以免费领取三天VIP,其实并不是为了得到那三天VIP,而是想了解豆瓣FM的歌曲可不可以提取加密秘钥并破解它。

登录并领取了VIP礼包后,随即下载了两首VIP歌曲,下载后看到文件后缀是【demgg1】和【demflac0】,经过了一番折腾,提取到了加密秘钥,大概属于是【qmcv2】的变体加密了。

不过要想得到秘钥,安卓都是一样的限制,除非你的手机是:

  1. 安卓手机使用的是AOSP的【文件】应用
  2. 已经ROOT后的安卓手机
  3. 使用可以提供读取ROOT文件夹的破解版豆瓣FM

只有满足了以上三个条件之一的手机才能够找到秘钥文件,音乐文件下载后的路径在如下:

/storage/emulated/0/Android/data/com.douban.radio/files/download/

秘钥数据库文件一些说明:

  • 数据库路径:/data/data/com.douban.radio/databases/
  • 数据库名称:music_audio_play
  • 数据库类型:sqlite3
  • 加密类型:qmcv2变体

数据文件找到后,要把文件末尾的Stag移除,数据库字段中还有一个长度为tagLength的字也需要移除(该部分为QQ音乐的字段)。数据文件不能直接用文本文件打开,打开直接乱码,要用SQLite命令行工具才可以打开查询。下面提供查询的命令行示例:

进入sqlite3 shell,在此之前,你需要安装sqlite3(Linux自带),数据库文件名我这里命名成music_audio_play,实际名字是根据你手机上下载后的名字为准!

> sqlite3 music_audio_play
> .tables
> .mode html
> .header on

最后从数据表EKeyFileInfo的表中抽取出filePath和对应的ekey的值。

> SELECT filePath,ekey FROM EKeyFileInfo;

以上命令敲完后,会显示以下的表格数据:

<TR>
<TH>filePath</TH>
<TH>eKey</TH>
</TR>
<TR>
<TD>/storage/emulated/0/Android/data/com.douban.radio/files/download/七里香 [8].demflac0</TD>
<TD>dTdoTGZxS25mQxO84qXggxXUZisw0xSlS8efOmp+t7Gj7CeCLyNebE+BlXpMd9IJbTGBDJ/T6pwUETYfu324Xm</TD>
</TR>

打开音乐解锁网站【um-react.netlify.app】,然后将eKey密钥复制粘贴到网站上指定位置,再把需要解锁的文件上传到网站上,解锁完成后,下载即可。

小提示:网站上提供可讨论的电报群,有需要的可以自行加入。

1 人点赞  ∙  0 人收藏  
加入收藏 点赞 我要评论
目前尚无回复