Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save JJK96/40f86196aacae52593e47c9a71cf1949 to your computer and use it in GitHub Desktop.
Save JJK96/40f86196aacae52593e47c9a71cf1949 to your computer and use it in GitHub Desktop.
Frida script - Peek http req/res
//Based on https://gist.github.com/materi/f5b95f798b9012e135e3462d52d33d4c
Java.perform(function() {
var res2 = Java.use('okhttp3.Response$Builder');
var Buffer = Java.use('okio.Buffer');
var peek_size = 1000
var String = Java.use('java.lang.String');
res2.build.implementation = function() {
var response = this.build();
console.log("## REQ ### ");
console.log(response.request());
console.log(response.request().headers());
var body = response.request().body()
if (body != null) {
var buffer = Buffer.$new();
body.writeTo(buffer);
console.log(decodeURIComponent(buffer.readUtf8().toString()));
}
console.log("## -REQ- ### ");
console.log("## RESP ### ");
console.log(response.headers())
var rBody = response.body();
if (rBody != null) {
rBody = response.peekBody(peek_size)
console.log(rBody.string())
}
console.log("## -RESP- ### ");
return response;
};
});
@JJK96
Copy link
Author

JJK96 commented Jul 21, 2023

Tested with OkHttp version 4.9.2. Reading responses does not always work correctly, but it's good enough for me

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment