更新 hook_conversions.js

master
wangsiyuan 2023-10-16 19:13:06 +08:00
parent deb6e8fb4c
commit 9de27d332d
1 changed files with 50 additions and 1 deletions

View File

@ -1,6 +1,8 @@
console.log("Script loaded successfully"); console.log("Script loaded successfully");
// hook_okhttp_client() // hook_okhttp_client()
if (Java.available) { if (Java.available) {
hook_json()
// hook_okhttp3_client()
Java.perform(function () { Java.perform(function () {
try { try {
var OkHttpClient = Java.use("okhttp3.OkHttpClient"); var OkHttpClient = Java.use("okhttp3.OkHttpClient");
@ -116,3 +118,50 @@ function hook_HttpURLConnection_stream() {
} }
function hook_okhttp3_client() {
Java.perform(function () {
var OkHttpClient = Java.use("okhttp3.OkHttpClient");
OkHttpClient.newCall.overload("okhttp3.Request").implementation = function (request) {
console.log("okhttp3 Request -> " + request.url().toString());
var response = this.newCall(request).execute();
console.log("okhttp3 Response -> " + response.body().string());
return response;
}
});
}
function hook_retrofit() {
Java.perform(function () {
var retrofitBuilder = Java.use("retrofit2.Retrofit$Builder");
retrofitBuilder.build.implementation = function () {
var retrofit = this.build();
var httpClient = retrofit.callFactory().clone();
httpClient.interceptors().add(new Java.use('okhttp3.Interceptor')({
intercept: function (chain) {
console.log("HTTP Request -> " + chain.request().toString())
var response = chain.proceed(chain.request());
console.log("HTTP Response -> " + response.toString());
return response;
}
}))
return retrofit.newBuilder()
.callFactory(httpClient)
.build();
}
});
}
function hook_json() {
Java.perform(function () {
var JSONObject = Java.use('org.json.JSONObject');
JSONObject.toString.overload().implementation = function () {
var result = this.toString.call(this);
console.log("Serialized JSONObject: " + result);
return result;
};
});
}