全国统考第一 发表于 2018-12-2 00:25

酷狗9.1.0音乐外链key算法逆向1

本帖最后由 全国统考第一 于 2018-12-2 08:17 编辑

最近在写一个仿酷狗的项目,获取mp3文件的外链地址是最核心的部分(得到key之后就可以下载和试听所有的收费音乐哦),可是key字段被加密了。接下来我们来看看怎么逆向key算法吧
用android killer反编译酷狗app
以前的key算法是md5(hash+"kgcloudv2"),但是现在用这个算法发现是错误的。我们可以继续搜索"kgcloudv2"
发现了4个搜索结果,点击第一个查看



这里翻译成java代码就是new ba().a(hash+"kgcloudv2"),跟进去ba看看

发现这只是个普通的md5算法
那么问题来了,这不就是以前的算法吗,并没有用啊
别急,我们继续查看其它的"kgcloudv2"搜索结果,发现只有第二个函数的构造后面多了几个内容

细心的朋友可能发现了,这里多了v1,v4,v6,这个很可能就是新的key算法,我们到上面看看这3个东西到底是什么

v1就是定义的常量0x3ed,十进制是1500



v6是com/kugou/common/userinfo/entity/c里的变量a,跟进去发现就是0

v4调用了com/kugou/common/utils/br.j(context)

j中调用了l(context),然后把l(context)返回的结果作为参数调用com/kugou/common/utils/bq.k(string)


l中调用了com/kugou/android/support/dexfail/d.d(context),跟进发现这是一个获取设备id和网络地址的函数,因此推断key算法和设备码有关
(楼主改变了虚拟机的设备id,然后重新抓包同一首歌曲,发现key果然发生了变化)

再来看k(string)函数

这个就是最后的算法了,里面没有再调用其他函数,只要计算这个算法就能得到key
到此,key算法的逆向分析已经完成,由于时间有限,下次有空我再写一个key算法的代码实现

全国统考第一 发表于 2018-12-2 08:11

大馒头123 发表于 2018-12-2 06:16
酷狗MP3还是可以破解的   但是MV一直的个复杂的破解工程啊

mv没有试过,应该都是一个原理吧,获取到key就行了

zendor 发表于 2018-12-2 17:32

厉害୧(๑•̀◡•́๑)૭ 大佬

aloay 发表于 2018-12-2 00:58

哈哈哈,沙发偶坐了!

刚刚、、好 发表于 2018-12-2 02:28

好厉害( _)

大馒头123 发表于 2018-12-2 06:16

酷狗MP3还是可以破解的   但是MV一直的个复杂的破解工程啊

陈寒冰 发表于 2018-12-2 06:51

下载看看

电话情思 发表于 2018-12-2 07:26

小白还是一脸懵逼的 看不懂膜拜大神吧

uluo20200 发表于 2018-12-2 08:13

高深高深学习中

懿蓑烟雨 发表于 2018-12-2 08:50

厉害了,赞一个

努力的小七 发表于 2018-12-2 09:34

学习了,我也去搞搞,谢谢分享!
页: [1] 2 3 4 5
查看完整版本: 酷狗9.1.0音乐外链key算法逆向1