声明:本文内容仅供学习交流,严禁用于商业用途,否则由此产生的一切后果均与作者无关。如有冒犯,请联系我删除。
App信息
包名:com.achievo.vipshop

设备注册
抓包找到有关设备注册的接口

参数中device_token是变动的,对其进行逆向
反编译app搜索device_token




MidProvider是一个接口,Injector是静态内部类,MidProvider接口定义两个方法String getMid()和String getMidOnly()

VipMidManager
在vipMidManager类里面找getMid方法,发现jadx并不能反编译这个函数,使用jeb反编译。

这个方法的解析
getMid()方法根据一些条件生成或获取一个 MID,应该是设备唯一标识符。
stringBuilder0用于构建字符串
application0是当前应用的 Application 实例
s为从 SharedPreferences(应用的配置文件)中获取键为 "VIPS_MID" 的值,假设这个值表示设备的唯一标识符。
判断s是否有效,如果无效,设置 stringBuilder0 为 null,创建一个新的 StringBuilder对象,构造日志信息。
调用 DeviceUuidFactory.getDeviceUuid(application0) 获取设备的唯一标识符(UUID)
将 s 设置为 UUID 的字符串形式,并记录日志信息 | create by androidId。
生成新的 MID:
生成一个新的随机 UUID 并将其赋值给 s , 同时更新日志,记录生成方式为 | create by uuid。
可以通过python生成随机uuid进行注册
参数api_sign
分析数据包,找到Authorization参数的api_sign

jadx反编译
文本搜索api_sign

追踪函数

分析,getApiSign 函数用于为网络请求生成包含 API 签名的授权头。
猜测VCSPCommons

最低0.47元/天 解锁文章
1086

被折叠的 条评论
为什么被折叠?



