Forked from llamaonsecurity/frida-hybrid-peek-android-okhttp.js
Last active
July 21, 2023 11:07
-
-
Save JJK96/40f86196aacae52593e47c9a71cf1949 to your computer and use it in GitHub Desktop.
Frida script - Peek http req/res
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//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; | |
}; | |
}); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Tested with OkHttp version 4.9.2. Reading responses does not always work correctly, but it's good enough for me