某手 v8.x 签名计算方法(一) 先从抓包说起

简介: 某手 v8.x 签名计算方法(一) 先从抓包说起

一、目标


某手 App早就搞过好几次了,不过人家努力,几天小版本,几周大版本,一不留神就看不懂了,这不升级到 8.x 之后,包都抓不到了。蓝瘦香菇。


TIP: 新鲜热乎的 8.3.30.17506


二、步骤


Charles就不用祭出来了,象征性的抓了几个无关痛痒的数据。看不到热门数据包不好玩。我们先从okhttp3入手,从jadx里看okhttp3还是没有被放弃的。


使用okhttp3发送一个请求,大概如下两步:

Call call = new OkHttpClient().newCall(new Request.Builder().build());
Response response=call.execute();


那我们就先hook newCall

var OkHttpClient = Java.use("okhttp3.OkHttpClient");
OkHttpClient.newCall.implementation = function (request) {
    var result = this.newCall(request);
    console.log(request.toString());
    return result;
};


太棒了,Request数据打印出来了, 那Response数据我也要,hook execute

Override // okhttp3.Call.Factory
    public Call newCall(C16082Request request) {
        return RealCall.newRealCall(this, request, false);
    }


从jadx的代码里看 newCall 返回的是 RealCall对象,所以我们也要hook RealCall的execute

var OkHttpRealCall = Java.use("okhttp3.RealCall");
OkHttpRealCall.execute.implementation = function(){
        var result = this.execute();      
    console.log(result.toString());
        return result;
}

1.png


通讯协议是 QUIC,怪不得Charles搞不定。不过这个抓包结果怎么看怎么不开心,发送过去的数据也看不到,接收回来的数据也看不到。脱了一半让人更着急。


1.png1.png

OkHttpLogger-Frida


开始介绍新朋友了, github.com/siyujie/OkH… 用了一堆神奇的方法达到了命令行版的Charles的效果。


首先将 okhttpfind.dex 拷贝到 /data/local/tmp/


然后 frida -U -l okhttp_poker.js -f com.example.demo --no-pause 就可以跑起来了。

2.png


这个效果还不错,感觉又回到了Charles的美好时光。


过滤url


美好的时光总是短暂的,刷了一会,App就提示网络无法访问。难道还有什么坑?


先把返回值数据的打印屏蔽掉。这怎么玩都不会提示了。奋飞怀疑,在取热门数据数据包的时候,由于数据比较大,所以我们打印出来比较费时,可能就会导致访问超时。


还好作者提供了一个 filterUrl 函数,可以指定打印你需要分析的url,这样可以防止再产生超时的问题。


三、总结


打工人还是很苦逼呀,升级这么快,不搞点新花样都没法好好抓包了。



3.png

不要和我谈梦想,我打工就是为了钱

相关文章
|
7月前
|
安全 Android开发 iOS开发
《吐血整理》进阶系列教程-拿捏Fiddler抓包教程(8)-Fiddler如何设置捕获会话
【7月更文挑战第23天】前边几篇宏哥介绍了Fiddler界面内容以及作用。今天宏哥就讲解和分享如何设置Fiddler后,我们就可以捕获会话,进行抓包了。本文将指导如何设置Fiddler以捕获会话数据。
116 11
《吐血整理》进阶系列教程-拿捏Fiddler抓包教程(8)-Fiddler如何设置捕获会话
|
8月前
|
算法 程序员
程序员必知:对称数的简单实现
程序员必知:对称数的简单实现
42 0
|
9月前
|
安全 Android开发 iOS开发
《吐血整理》进阶系列教程-拿捏Fiddler抓包教程(8)-Fiddler如何设置捕获会话
【2月更文挑战第9天】《吐血整理》进阶系列教程-拿捏Fiddler抓包教程(8)-Fiddler如何设置捕获会话
96 5
|
文字识别 安全 Java
阿里云请求签名Java实现
为保证API的安全调用,在调用API时阿里云会对每个API请求通过签名(Signature)进行身份验证。无论使用HTTP还是HTTPS协议提交请求,都需要在请求中包含签名信息。在使用阿里云文字识别ocr时,看到官网提供了Python的构造签名示例,此篇文章就以官网提供的参数以Java方式构造下签名
1417 1
阿里云请求签名Java实现
|
小程序 测试技术 Android开发
小程序抓包测试的优选方法
今日的文章,我们主要讲的是,如何使用fiddler拦截PC端的小程序流量,而后使用Burpsuite进行抓包测试
谈一谈|Fiddler实现简单的抓包与纂改数据
谈一谈|Fiddler实现简单的抓包与纂改数据
506 0
推荐 5 个你大概率没见过的免费 API ,一键获取数据!
推荐 5 个你大概率没见过的免费 API ,一键获取数据!
|
数据安全/隐私保护 Android开发
分分钟学会Fiddler抓包工具的使用(二)
您好,我是码农飞哥,感谢您阅读本文,如果您觉得本文对您有所帮助,希望可以得到您的一键三连!
309 0
分分钟学会Fiddler抓包工具的使用(二)
|
Web App开发 Windows
分分钟学会Fiddler抓包工具的使用(一)
您好,我是码农飞哥,感谢您阅读本文!本文主要介绍抓包工具Fiddler的使用,大家是不是非常期待呀。
646 0
分分钟学会Fiddler抓包工具的使用(一)
|
存储 Java 开发工具
AndroidV1,V2,V3签名原理详解
AndroidV1,V2,V3签名原理详解
314 0
AndroidV1,V2,V3签名原理详解