Legend is a Hook framework for Android Development, it allows you to Hook Java methods without ROOT. Even more exciting is that it supports both Dalvik and Art environment!
Example 1: Annotation type Hook
@Hook("android.widget.Toast::show")
public static void Toast_show(Toast thiz) {
thiz.setText("XXXXXXXXX");
//Call the origin method
HookManager.getDefault().callSuper(thiz);
}
Example 2: Interception of startActivity
@Hook("android.app.Activity::[email protected]")
public static void Activity_startActivity(Activity thiz, Intent intent) {
if (!ALLOW_LAUNCH_ACTIVITY) {
Toast.makeText(thiz, "I am sorry to turn your Activity down :)", Toast.LENGTH_SHORT).show();
} else {
HookManager.getDefault().callSuper(thiz, intent);
}
}
HookManager.getDefault().applyHooks(YourClass.class);
HookManager.getDefault().hookMethod(originMethod, hookMethod);
if (Country.China == your.country) {
QQGroup.join(530497973);
} else {
webView.loadUrl("https://github.com/asLody/legend/issues");
}