uni-app开发框架抓包
字数 1212 2025-08-22 12:22:48

Uni-App开发框架抓包技术详解

一、Uni-App框架概述

Uni-App是一个使用Vue.js开发跨平台应用的框架,具有以下特点:

  • 一次开发,可发布到iOS、Android、Web及各种小程序平台
  • 采用JS调用原生API的架构
  • 运行时分为视图层和逻辑层
  • 网络请求通过uni.request(OBJECT)实现,其中sslVerify参数用于SSL证书验证

二、Uni-App抓包技术方案

1. Hook绕过SSL Pinning

适用场景:常规证书校验情况

技术原理

  • 使用Frida等工具Hook掉证书校验函数
  • 对于uni.request,重点关注sslVerify参数的处理

局限性

  • 不适用于存在本地证书校验等额外认证机制的情况

2. Hook网络请求框架

适用场景:使用OkHttp等流行网络框架的应用

技术实现

针对OkHttp框架的Hook方法

function main(){
    Java.perform(function () {
        var RequestBody = Java.use("dc.squareup.okhttp3.RequestBody");
        RequestBody["create"].overload('dc.squareup.okhttp3.MediaType', 'java.lang.String').implementation = function (mediaType, str) {
            console.log(str);
            var ret2 = this.create(mediaType, str);
            return ret2;
        };
    });
}
setImmediate(main);

关键Hook点

  • RealCall类的getResponseWithInterceptorChain方法
  • 通过反射获取Request对象(originalRequest)
  • 获取Response对象进行报文打印

请求流程分析

  1. 调用OkHttpClient.newCall(Request)
  2. 获取RealCall对象
  3. 异步请求调用enqueue方法
  4. 同步请求调用execute方法
  5. 最终都会执行getResponseWithInterceptorChain

三、加密处理方案

1. 加密定位方法

常见加密位置

  • app-config.js
  • app-server.js

查找技巧

  • 根据MVC规范,加密方法通常位于上述文件中
  • 检查www资源文件夹中的JS文件

2. WebView调试方案

技术方案

  • 将应用转换为H5页面进行调试
  • 使用USB连接和Chrome浏览器进行调试
  • 通过Chrome DevTools分析网络请求和JS执行

实现步骤

  1. 配置设备USB调试
  2. 在Chrome中访问chrome://inspect
  3. 选择目标WebView进行调试

四、实战案例分析

案例特征

  • 使用Postern等工具无法抓包
  • 请求存在加密
  • 资源文件中包含www文件夹

解决方案

  1. 识别为Uni-App框架应用
  2. 直接Hook OkHttp3相关方法
  3. 分析请求/响应报文
  4. 在JS文件中查找加密逻辑

五、技术总结

  1. 识别关键点

    • 检查应用是否使用Uni-App框架
    • 确定使用的网络请求框架类型
  2. Hook选择

    • 优先尝试SSL Pinning绕过
    • 针对特定网络框架进行深度Hook
  3. 加密分析

    • 定位加密相关JS文件
    • 考虑WebView调试方案
  4. 工具组合

    • Frida用于运行时Hook
    • Chrome DevTools用于WebView调试
    • 逆向工具分析APK结构

通过以上方法,可以有效解决Uni-App应用的抓包难题,并对加密请求进行深入分析。

Uni-App开发框架抓包技术详解 一、Uni-App框架概述 Uni-App是一个使用Vue.js开发跨平台应用的框架,具有以下特点: 一次开发,可发布到iOS、Android、Web及各种小程序平台 采用JS调用原生API的架构 运行时分为视图层和逻辑层 网络请求通过uni.request(OBJECT)实现,其中sslVerify参数用于SSL证书验证 二、Uni-App抓包技术方案 1. Hook绕过SSL Pinning 适用场景 :常规证书校验情况 技术原理 : 使用Frida等工具Hook掉证书校验函数 对于uni.request,重点关注sslVerify参数的处理 局限性 : 不适用于存在本地证书校验等额外认证机制的情况 2. Hook网络请求框架 适用场景 :使用OkHttp等流行网络框架的应用 技术实现 : 针对OkHttp框架的Hook方法 关键Hook点 : RealCall类的getResponseWithInterceptorChain方法 通过反射获取Request对象(originalRequest) 获取Response对象进行报文打印 请求流程分析 : 调用OkHttpClient.newCall(Request) 获取RealCall对象 异步请求调用enqueue方法 同步请求调用execute方法 最终都会执行getResponseWithInterceptorChain 三、加密处理方案 1. 加密定位方法 常见加密位置 : app-config.js app-server.js 查找技巧 : 根据MVC规范,加密方法通常位于上述文件中 检查www资源文件夹中的JS文件 2. WebView调试方案 技术方案 : 将应用转换为H5页面进行调试 使用USB连接和Chrome浏览器进行调试 通过Chrome DevTools分析网络请求和JS执行 实现步骤 : 配置设备USB调试 在Chrome中访问chrome://inspect 选择目标WebView进行调试 四、实战案例分析 案例特征 : 使用Postern等工具无法抓包 请求存在加密 资源文件中包含www文件夹 解决方案 : 识别为Uni-App框架应用 直接Hook OkHttp3相关方法 分析请求/响应报文 在JS文件中查找加密逻辑 五、技术总结 识别关键点 : 检查应用是否使用Uni-App框架 确定使用的网络请求框架类型 Hook选择 : 优先尝试SSL Pinning绕过 针对特定网络框架进行深度Hook 加密分析 : 定位加密相关JS文件 考虑WebView调试方案 工具组合 : Frida用于运行时Hook Chrome DevTools用于WebView调试 逆向工具分析APK结构 通过以上方法,可以有效解决Uni-App应用的抓包难题,并对加密请求进行深入分析。