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::startActivity@android.content.Intent") 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); } }
java HookManager.getDefault().applyHooks(YourClass.class);
java HookManager.getDefault().hookMethod(originMethod, hookMethod);
If (Country.China == your.country) { QQGroup.join(530497973); } else { webView.loadUrl("https://github.com/asLody/legend/issues"); }
Lody