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对象进行报文打印
请求流程分析:
- 调用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应用的抓包难题,并对加密请求进行深入分析。