酷狗9.1.0音乐外链key算法逆向2
本帖最后由 全国统考第一 于 2018-12-2 20:03 编辑请参照之前的帖子https://www.52pojie.cn/thread-832000-1-1.html
String d(Context ctx)函数很简单,即获得设备id,调用getDeviceId()即可
String k(String str)函数加密了设备id,算法的java代码如下:
public String k(String str){
BigInteger b1=new BigInteger("0");
BigInteger b2=new BigInteger("16");
String str1=new ba().a(str);
//System.out.println(str1);
for(int i=0;i<str1.length();i++){
//System.out.println(i);
BigInteger b3;
StringBuilder sb=new StringBuilder();
String str2="";
sb.append(str2);
char c1=str1.charAt(i);
sb.append(c1);
String str3=sb.toString();
int n1=0x10;
b3=new BigInteger(str3,n1);
int n2=-0x1;
int n3=str1.length()+n2;
n3=n3-i;
BigInteger b4=b2.pow(n3);
//System.out.println(b4);
b3=b3.multiply(b4);
b1=b1.add(b3);
}
return b1.toString();
}
所以v4就是设备id的加密结果
你以为这样就完了吗,不,我们再去看mid是怎么赋值的
发现mid居然就是v4,所以前面的逆向都是没用的,因为可以直接固定{:301_973:}
不过既然都逆向出来了,为了稳定性,最好用上吧
不好意思,带大家绕了一圈,这时候我们的思路又回到了原地,看看到底是哪里错了
原来前面有个v1的赋值看漏了,也就是v1并不是0x3ed。所以最关键的算法来到了v1的获取上面
这里调用了com/kugou/common/config/c.b(ConfigKey)函数,可是我们在com/kugou/common/config/c中却没有发现b(ConfigKey)函数,这是为什么呢
有没有可能c继承了其他父类呢?果然,c继承了g类,所以去g中找b(ConfigKey)函数就行了
至于a()和b(ConfigKey)函数的算法,看起来有点复杂,所以下次再更新吧{:301_997:} - -我丢,这么麻烦吗?酷狗音乐,直接网页右键播放器,审查元素,往上一丢丢,就能看到歌曲下载链接啊,QQ音乐下载链接是在播放器代码下面audio标签 保洁阿姨 发表于 2018-12-2 19:42
这么麻烦吗?那别人是怎么弄出来的呀,佩服
其实不麻烦,只是我走了弯路 我是第一个??? 谢谢分享、、。 图片好像有点问题,一直加载不出来。 这么麻烦吗?那别人是怎么弄出来的呀,佩服 图片好像有点问题,一直加载不出来,不知道是什么问题。
图片好像有点问题,一直加载不出来。
这么麻烦吗?那别人是怎么弄出来的呀,佩服 厉害佩服佩服佩服佩服佩服佩服 图片好像有点问题,一直加载不出来。