免登录方案

一体化、视联网等集成方案探索

1.hook拦截(场景不适用)

2.二次打包去掉登录(涉及版权问题)

3.自动化登录

4.定义规则(intent传参)

5.逆向分析程序漏洞,利用漏洞自动登录

第一个方案不做过多介绍

第二个方案虽然可以免登录,但是只能满足演示不能全方位推广使用,推广使用还是需要正式包

这里提供下破解过的免登录[样本链接](https://pan.baidu.com/s/1kVXhYcv) 密码:651e

第三种方案相比前面两个更好,需要账号登录,但是从我的平台打开一体化等第三方应用不需要输入密码,程序自动化登录

第四种方案是正规实现方式,奈何第三方平台不配合

第五种方案:分析第三方平台提供的apk,分析程序漏洞实现免登录

综上分析,目前只有第三个方案能在最短时间技术上实现,第五个方案也在本文讨论范围之内

方案3实现步骤:

1.ddms调试找出对应的控件id

2.找到登录页对应的class

3.编码

免登录方案_第1张图片


免登录方案_第2张图片

方案5实现步骤:

1.apktool 反编译apk,查找启动类

看到SplashActivity有两种启动方式,自己定义了action和mineType,猜想可能预留入口了,接着下一步去证实这个想法

免登录方案_第3张图片

在SplashActivity onCreate源码中看到这里有接收这个action"android.intent.action.grxx"

并接收了grxx信息,那grxx是什么类型参数,在往下看发现是JSONObject,key是username,password,然后new AutoLoginTask()做登陆操作,分析到这里我们就可以伪造Intent信息了

免登录方案_第4张图片
免登录方案_第5张图片

伪造Intent

    Intent intent = new Intent();

    intent.setAction("android.intent.action.grxx");

    intent.putExtra("grxx",json().toString());

    intent.setType("text/plain");

    startActivity(intent);

构造json


免登录方案_第6张图片

方案5和方案4其实是一样的,但是后门不告诉我啊,那搞你apk没得说,不得不说grxx,jiang做的太lowb

你可能感兴趣的:(免登录方案)