申请ID:DreamFlyi
Email:1129626698@qq.com
个人简介:会一点安卓和WEB逆向,懂一点Java和C开发,希望加入论坛与大家交流讨论技术
这次申请写一个酷狗概念版的签名验证Bypass
正文开始
酷狗概念版(com.kugou.android.lite) - 3.4.4 - 应用 - 酷安 (coolapk.com)
我这用的是酷安的原包
直接签名,打开安装,启动应用时会发现强制跳网页并结束进程,如图
猜测目标应用存在签名验证
根据对应用行为分析 发现目标应用的跳网页行为存在于C层libj.so
将libj.so拖入IDA64中进行分析
在字串表中搜索目标网页
查找交叉引用
可以发现应用通过Java Api的Intent创建一个HttpsActivity打开盗版网页
直接使用010 Editor删除字段
将libj.so替换后,打包安装,发现进入app时不跳网页,点击登录又跳网页
跟进按钮控件的点击事件
[Java] 纯文本查看 复制代码 com.kugou.common.useraccount.app.ShortMessageLoginFragment$1.onClick
发现这个DetectUtils非常可疑,我们跟进去
[Java] 纯文本查看 复制代码 com.kugou.framework.detect.DetectUtils
可以发现刚刚onClick中调用的b方法就是跳网页的实现
这一串数据解密之后就是盗版提示网页
我这里直接将dex解压出来添加到包中并直接弹窗显示数据
如果你有环境可以使用Frida或者Log Inject实现
分析之后可以发现关键在于DetectUtils.a方法,直接将其写死1即可绕过
至于这里签名校验的具体实现,就是通过PackageManager获取签名,再将其传入JNI接口进行判断
使用最简单的PMS代{过}{滤}理工具即可绕过
教程结束
最后本人还发布了几个教学视频
Java CM 分析
https://www.bilibili.com/video/BV13K411a7nS/
Web Fiddler 抓包重写
https://www.bilibili.com/video/BV1WB421674J/ |