工具:Frida、Charles、IDA pro9.0。
环境:Mac mini macOS 14.6.1、iphonex ios 14.8。首先抓分析下请求参数都有哪些:
设备风控APP第一次启动时总共三次请求,第一次请求会返回一些风险特征与设备id(eeid);
返回的data json中dt存放着风险特征与控制算法变化的逻辑指令、设备id(eeid)等重要信息;三次请求中都有会扫描设备的风险特征,字段名为r_数字_数字(r_1_0)
采集方式主要为调用svc指令;检测越狱风险特征:检测frida改机等:还有很多,比如是否dump、重签名、注入、frida、hook等,有兴趣的可自行研究。
3.2、设备采集
设备信息采集可以分为三种方式:
oc方法采集:c方法采集:自定义方法采集:a、VM入口b、VM出口c、handle
handle大概有70个左右,基本指令都模拟了,但是handle没有混淆,分析还是比较容易能看出是模拟什么指令,比如下面handle;其它的类似;采集设备信息后就是加密上报,加密流程比较复杂,分为单字段加密,分段加密,整体加密,且每一个分段的加密算法还不一样,下面只简单说下流程,详细的可自行分析。
以采集mac地址为例,原始数据:a、生成随数为keyb、第一层加密,单个字节加密第二层加密
a、key为固定值b、加密过程c、加密完后将所有字段组合,拼接组合字段,将多个字段拼接组合在一起;
第三层加密
a、组合后设备数据分成多组加密b、数据分段不同类型:不同类型加密略有不同;
c、不同分段数据加密完后再组合进行随机数xor加密;
d、base64加密后与固定字符串(v0001ipx234001)组合;a、将上面加密后数据组合jsonb、压缩组合后json;
c、AES加密压缩后数据;
d、base64加密aes加密后数据做为请求体上报;总的来说mtop风控SDK代码保护能力还是比较强的,签名算法与本地加密算法流程复杂度比较高,协议还原时间成本较高且存在动态下发更算法逻辑,如果站在攻击方的来看的话可能改机方案成本相对较轻的。
本次分析从中也学到一些不错的防御点:
a、常见libc.so中的字符串操作函数在VMP中实现,strlen,strcpy,memset等。
b、自己管理自己的内存结构。
c、vm流程混淆,加入一些与真实逻辑无关的运算。
d、动态调用内部方法,方法地址加密存放,调用时地址动态解密
e、采集字段分成10组,每组分不同算法加密且算由服务器端控制算法变化。
f、加密算法白盒且放在VMP中计算加密逻辑{
---
来源: 看雪论坛
原文链接: https://bbs.kanxue.com/thread-284241.htm
[原创]某宝购物APP设备风控SDK-mtop简单分析
452 浏览
7 回复
是哪一个版本的?
最后于 2024-11-5 21:02
被黑龙lilad编辑
,原因:
被黑龙lilad编辑
,原因:
学习一下
太猛了哥
好了,太棒了
,可以删了
,可以删了
学习了
学习????