斗鱼APP签名校验绕过
转载自:http://www.secbuff.com/ios/215.html?d=3
0×00 说明
斗鱼是自己非常喜欢的一家直播平台,由于经常在斗鱼看lol比赛,加上又是武汉的互联网企业,所以就逆向了下斗鱼,看能不能过签名校验。
首先我们正常登录APP,可以正常加载APP各种页面,登录的时候再尝试用QQ号登录,会正常来到授权页面。如下图:
0×01 签名校验分析
一般APP的签名验证有3种:本地验证、网络验证、本地验证+网络验证,其中本地验证也分Java层和Native层验证。那么要分析APP的是否存在签名校验一般的方法是先反编译APP,然后直接回编译再签名,运行APP查看是否存在闪腿或者弹toast提示签名错误。斗鱼的签名验证有问题的时候会无法连接网络,如果再尝试用QQ进行辅助验证的话就可以很明显看出存在签名校验,如下图:
0×02 签名分析
首先我们在启动斗鱼的时候抓包,发现一处可疑之处:
header头中有个dy-sign的字段,我们是否可以猜测是不是签名校验中的网络校验,先把获取到的app校验值传给服务端进行判断,如果正确在是正版app。,否则就是伪造的app。那么我们直接反编译app,不做任何修改,启动自己签名的app后在把dy-sign改成前面获取的看看:
我们看到返回200,但是后面进去后太少加载网络失败,看来有可能存在本地验证。
根据前面介绍的,发现使用伪造签名的app时。进去后会提示无法连接服务器,加载失败的提示,所以就先根据这个错误提示来找找看:
上面的图片就是根据提示信息,找到这个提示消息所对于的string name,然后根据string name找到这个提示信息的ID号,在全局搜索ID号,查看哪里有调用的地方,一步步分析。
通过jd-gui查看调用的java代码,并没有发现有0x7f080304的地方,我们把0x7f080304变成十进制再搜可以搜索,但是并没有什么卵用。
0×03 分析android系统获取签名方法
我们知道如果要做签名验证,app必须调用系统的一个api方法:
packageInfo = context.getPackageManager().getPackageInfo(context.getPackageName(), PackageManager.GET_SIGNATURES );
![](http://www.secbuff.com/wp-content/uploads/2017/05/27abd4743b5d411c63c379277aa4c192.png)
![](http://www.secbuff.com/wp-content/uploads/2017/05/27abd4743b5d411c63c379277aa4c192.png)
![](http://www.secbuff.com/wp-content/uploads/2017/05/d14f39d6b8b420215e77b75e38831290.png)
public void initZygote(StartupParam startupParam) throws Throwable {
XposedHelpers.findAndHookMethod(
"java.security.Signature"
,null,
"verify"
, byte[].class,new XC_MethodHook(){
protected void afterHookedMethod(MethodHookParam param) throws Throwable {
XposedBridge.log(
"disabled verifysignature......"
);
param.setResult(Boolean.TRUE);
}
});
转载请注明:SecBuff » 斗鱼APP签名校验绕过
斗鱼APP签名校验绕过相关推荐
- Android App签名(证书)校验过程源码分析
Android App安装是需要证书支持的,我们在Eclipse或者Android Studio中开发App时,并没有注意关于证书的事,也能正确安装App.这是因为使用了默认的debug证书.在A ...
- autojs用签名校验保护app
牙叔教程 简单易懂 测试环境 Autojs版本: 9.0.4 Android版本: 8.0.0 Android Studio版本: 4.1.2 签名概念 目的: 为了确认某个信息确实是由某个发送方发送 ...
- 【算法上车③】华为摄像头rpm签名校验并安装调试
文章目录 一.APP 签名校验 1.登录网页申请配额 2.点击"申请配额",并填写申请 3.查看申请情况 4.待申请通过后进行设备绑定 5.申请签名 6.刷新并下载签名 二.将算法 ...
- 安卓逆向_19( 一 ) --- APK保护策略【APP打开就崩溃 之 霸哥apk过签名校验】
From:霸哥磁力搜索apk 过签名校验:https://www.cnblogs.com/LuLuLuHao/p/12863978.html 霸哥磁力搜索app回编签名:https://www.ssf ...
- Android5.1.1 - APK签名校验分析和修改源码绕过签名校验
作者:寻禹@阿里聚安全 APK签名校验分析 找到PackageParser类,该类在文件"frameworks/base/core/java/android/content/pm/Packa ...
- app运行时签名校验
有时候我们为了防止自己的应用被反编译后重新打包,不得不采取运行时进行签名校验的方式. 因为会经常用到,所以在这里整理了一下校验方式. public class SignCheck {private C ...
- Android App运行时签名校验
有时候我们为了防止自己的应用被反编译后重新打包,不得不采取运行时进行签名校验的方式. 因为会经常用到,所以在这里整理了一下校验方式. public class SignCheck {private C ...
- 安卓逆向_18 --- APK保护策略【Java代码混淆、资源混淆、签名校验】
Java 代码混淆介绍:https://www.bilibili.com/video/BV1UE411A7rW?p=60 Android 反编译利器 jadx:GitHub上直接下载:https:// ...
- Android逆向【4】:暴力破解APK签名校验,愉快的重新打包微信支付宝APK
回顾 <Android逆向小技巧③:批量注入日志,打印目标程序执行流程> 在上一篇2019年的文章中,我们使用python写了一个简单的文本处理工具: https://github.com ...
最新文章
- 台湾国立大学郭彦甫Matlab教程笔记(16) 数值微分 numerical differentiation
- oracle 临时表存在哪里_openGauss魔改PG?它能兼容Oracle的数据库表吗?
- WebApp 里Meta标签大全
- php 模拟ip访问网页,curl模拟浏览器,ip,来源,进行网站采集的实现方法
- OpenCV的Mat和Halcon的HObject类型互相转换
- 火遍日本 IT 界的「鱼书」终出续作,原来进阶深度学习竟然那么简单(文末赠书)...
- chrom浏览器配置,把跨域保护关闭
- 《现代通信原理学习》(二)随机信号分析
- 纬地道路纵断面设计教程_中铁城际总结公路设计应掌握的知识要领解答
- VM虚拟机安装win7系统(亲测可用!!!)
- 如何设置分享到微信朋友圈时链接的图片及标题
- ArcEngine实现动态加载地图
- EgretInspector谷歌浏览器扩展
- MySQL连接、SSL加密与密码插件
- java飞机_使用java写出飞机小游戏
- ionic platform add android环境搭建之难产【i1】【小白-2016.11.5】
- 迅雷百度网盘不能下载资源 办法总比困难多
- 【入门向】Navicat for MySQL的入门简单使用
- Sophos XG Firewall SFOS 18.0 下载 百度网盘
- if else python格式_python 基本的if_else使用