安卓逆向-利用Frida进行Okhttp抓包
思路:response的数据封装在body里面的source里面的,而source是一个Buffer类,可以提供克隆方法用于复制,我们只要clone一下buffer来给我们自己的逻辑使用,就不会影响其他逻辑对于response的使用。同样的,在逆向的时候,我们只要拦截到response,并且利用frida调用对应的方法,即可把数据复制出来给我们自己使用。注意:上述的这些方法,在APP里面可能会被混
·
背景:由于okhttp的响应的string方法调用一次就关闭了,如果说逆向抓到response直接调用string的话会导致程序后面无法再利用response导致执行不正常。
思路:response的数据封装在body里面的source里面的,而source是一个Buffer类,可以提供克隆方法用于复制,我们只要clone一下buffer来给我们自己的逻辑使用,就不会影响其他逻辑对于response的使用。
对应的java代码如下
Response response = client.newCall(request).execute();
BufferedSource source = response.body().source();
source.request(Long.MAX_VALUE);
Buffer buffer = source.buffer();
String result1 = buffer.clone().readString(Charset.defaultCharset());
String result2 = response.body().string();
System.out.println(result1);
System.out.println("\n");
System.out.println(result2);
同样的,在逆向的时候,我们只要拦截到response,并且利用frida调用对应的方法,即可把数据复制出来给我们自己使用。
注意:上述的这些方法,在APP里面可能会被混淆成别的名字,所以还要结合逆向代码来分析
更多推荐
已为社区贡献2条内容
所有评论(0)