安卓逆向某app

本文仅作为学习交流,禁止用于商业使用

一.抓包

在这里插入图片描述
可以看到加密是Akamai的sensor-data

二.反编译

在这里插入图片描述
具体查找过程就不说了,可以找到加密是在这一块

三.分析

1.设备信息

在这里插入图片描述
这里列举部分读取的信息:
1.屏幕尺寸
2.电量
3.横竖屏
4.enabled (adb,屏幕旋转,物理键盘)
5.android_id
6.android.os.Build下的大量信息
7.。。。

2. Events data

1.edit data
 int m12582a = C35774b0.m12582a(String.valueOf(editText.getId()));
2.motion data
包含touch data,加速度传感器,陀螺仪传感器,磁力以及计算得出的方位角数据
如:
touch data:2,10442,0,0,1,1,1,-1;3,115,0,0,1,1,1,-1;
加速度:![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/ff946c287adf4c12b4c90b48a157119e.png)

3.data加密校验

将各类数据进行加密校验(加密代码在反编译的源码中均可找到)并合并成完整的指纹信息:

在这里插入图片描述

4.完整指纹信息加密

对数据进行 “AES/CBC/PKCS5Padding”和“HmacSHA256” 进行加密,使用RSA对key进行加密
加密结果拼接即为完整的sensordata

在这里插入图片描述

四.问题

akm对tls指纹进行了强校验,使用python的cffi能过盾,但是无法大量并发。tls被盾后,使用浏览器指纹仍可正常请求。因此解决了tls指纹才可大量并发,若是仅过盾实现正常请求,使用cffi即可。

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐