xhs 某书算法shleId APP版本8.69 unidbg版本(APP逆向第一期)

1. 概述

5年经验的java后端开发,目标是把抖快小的所有算法都搞定,先搞unidbg在搞纯算,js技术壁垒没有app高,博主java技术在逆向领域也算半个精通了,所以打算主攻app。(仅作用于技术交流)

需要源码或者其他需求的私聊

2.前言

2.1 准备工具

  • app版本8.69
  • frida (用于hook)
  • 反编译工具jadx
  • Charles (用于抓包)
  • unidbg0.9.8(用于模拟so文件执行)github地址
  • 一台root过的安卓手机 (模拟器hook啥的会问问题强烈建议大家用真机,因为大部分模拟器是x86架构,正常手机是arm64架构,在底层so层文件会有一些区别。博主比较穷先用模拟器~~)

2.2 演示

shleId的教程也算烂大街了,也是比较简单的so逆向,用来做第一期最合适不过了
第二期打算做8.69版本的x-mini-mua设备指纹系列,这玩意卡了我很久,最近才弄出来,有大佬欢迎一起交流
在这里插入图片描述

3.大概流程

  1. 抓包APP,发现有shield参数

  2. hookAPP定位到算法位置

  3. 找到具体的so文件

  4. unidbg模拟执行

3.1 抓包

  1. 手机需要root并配置系统级别的ssl证书,抓包到发送验证码接口
  2. copy到apifox,发现只需要shield这个算法也能请求
    在这里插入图片描述

3.2 算法位置

通过frida hook okhttp的拦截器,就能发现他在哪里加密的,这个教程很多,直接说在com.xxxx.shield.http.xxxHttpInterceptor类加密的
在这里插入图片描述

3.3 找到具体的so文件

也是通过frida hook jni动态注册的函数,找到具体的so文件(这里有个坑就是模拟器会有问题,还得是真机),so文件就是libxyass.so

在这里插入图片描述
在这里插入图片描述

3.4 unidbg模拟执行

1.先看看初始化步骤,先执行静态块-》构造方法-》拦截器方法

  • 静态块

在这里插入图片描述

  • 构造方法

在这里插入图片描述

  • 拦截器方法

在这里插入图片描述
2. 咱们unidbg也要按照这个逻辑执行,ok开始补java环境
在这里插入图片描述

mainHmac和deviceId是需要hook app定位具体位置看他是怎么生成的
正常他是直接调用okhttp请求了,返回的是响应body,而shield是在添加请求头的时候就生成了,可以在这里断开就可以只拿shield不请求

ok,大功告成这些流程整理到一起就是之前演示的效果了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值