最近各大音乐软件都增加了“一起来听歌”的功能,嘿嘿,又多了一个交友软件
功能如图(看破不说破)
截图
那么我们的问题是什么?
用过的同学肯定知道如果想解锁对方头像就必须听够五分钟且对方同意接收你的解锁申请
什么?要等五分钟?想到前五分钟对着一位兄弟暧昧。。。。。。
所以就想到了有没有一种可能来跨多这种限制?
正题
分析一波界面
结果很明显啊,帧布局里有三个imageview控件,因为是帧布局嘛,所以是叠加显示滴
id = com.netease.cloudmusic:id/friendAvatarView
那咋办呢?这里有两个办法
一、修改xml
二、xposed
方法一
打开apk xml搜索 friendAvatarView
注意!!!!这次我们只需要修改asp.xml 和asq.xml
打开asp.xml
将 selfAvatarView 替换成 friendAvatarView
将 friendAvatarView替换成 selfAvatarView
保存之后别签名!!!(因为有签名校验,你也可以手撕签名验证,这里我就不说了)
然后打开asq.xml 执行上一步修改操作
记住了!!!两次修改别签名~
这个方法需要核心破解签名管理器校验哦!!!!
当你发现你头像在对面的时候就证明你成功啦
方法二
这里用上Xposed大法(Xposed牛批)
先细心分析一下
从ui入手,目前已知到头像分为三部份,真实头像/高斯模糊遮罩层,小面具。还有控件是属于ImageView的
那么我们看xml代码
为什么不是 ImageView呢,而是com.netease.cloudmusic.ui.SimpleRoundDraweeView
很简单啊,因为这是开发者重绘的圆形头像控件
所以直接看SimpleRoundDraweeView代码就行
代码很明了,三个构造函数,剩下的“setImageUrl”就是字面意思啦
Hook它!!!!!(会不会url加密了呢?管他呢,hook再说)
上代码
[Java] 纯文本查看 复制代码 if (lpparam.packageName.equals("com.netease.cloudmusic")){ XposedHelpers.findAndHookMethod("com.netease.cloudmusic.ui.SimpleRoundDraweeView",lpparam.classLoader,"setImageUrl",String.class,int.class, new XC_MethodHook() {
@Override
protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
super.beforeHookedMethod(param);
}
@Override
protected void afterHookedMethod(final MethodHookParam param) throws Throwable {
super.afterHookedMethod(param);
XposedBridge.log("网易云imageURl: "+param.args[0]);
}
});
}
Hook结果:
ps:可不可以直接查看对方资料呢?嘻嘻,这个问题就留给你们思考啦
那怎么才能防护呢?只能在服务器对头像高斯模糊才能避免出现这个情况了
ps: 如侵权请站内留言删。
|