Open TheKop opened 9 years ago
Hi I'm trying to hook method makeText of class android/widget/Toast But it crash. Please let me know code is wrong or current your library still not support?
////////Code Start
void do_patch() { dalvik_hook_setup(&sb1, "Landroid/widget/Toast;", "makeText", "(Landroid/content/Context;Ljava/lang/CharSequence;I)Landroid/widget/Toast;", 4, makeText); dalvik_hook(&d, &sb1);
}
// patches static void* makeText(JNIEnv *env, jobject context ,jobject txt, jint time) { log("Prepare Hook Toast\n") dalvik_prepare(&d, &sb1, env); jclass Toast = NULL; jobject toast = NULL; jmethodID makeText = NULL;
log("FindClass Toast\n") Toast = (*env)->FindClass(env, "android/widget/Toast"); if(NULL == Toast) { log("FindClass failed") return; } log("Method name = %s\n",sb1.method_name) log("Get parameters\n") jmethodID mid = (*env)->GetMethodID(env, (*env)->GetObjectClass(env, txt), "toString", "()Ljava/lang/String;"); jstring string = (jstring)((*env)->CallObjectMethod(env, txt, mid)); const char* utf = (*env)->GetStringUTFChars(env, string, 0); if (utf) { log("txt : %s , time = %d\n", utf,time) (*env)->ReleaseStringUTFChars(env, string, utf); } log("Prepare CallStaticObjectMethod\n") toast = (*env)->CallStaticObjectMethod(env, Toast, sb1.mid, context,txt,time); //Crash at this line of code if ( NULL == toast) { log("CALLSTATICOBJECT FAILED") return; } log("dalvik_postcall\n") dalvik_postcall(&d, &sb1); //Just test return NULL;
/////Code End Thanks you very much
Hi I'm trying to hook method makeText of class android/widget/Toast But it crash. Please let me know code is wrong or current your library still not support?
////////Code Start
void do_patch() { dalvik_hook_setup(&sb1, "Landroid/widget/Toast;", "makeText", "(Landroid/content/Context;Ljava/lang/CharSequence;I)Landroid/widget/Toast;", 4, makeText); dalvik_hook(&d, &sb1);
}
// patches static void* makeText(JNIEnv *env, jobject context ,jobject txt, jint time) { log("Prepare Hook Toast\n") dalvik_prepare(&d, &sb1, env); jclass Toast = NULL; jobject toast = NULL; jmethodID makeText = NULL;
}
/////Code End Thanks you very much