legend
asLody
1371
Visit GitHub RepoAOP

Legend


logo

Projects are out of date, plese move to:

Whale Hook

What is Legend?

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!

https://github.com/asLody/legend

1. What is the good

  • Programming more efficient
  • Dynamic debugging
  • HotFix and needn't reboot app
  • Fast dump Dex File in the shell
  • Software security penetration
  • Do some exciting things...

2. How to use

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);
  }
}

Notice:

  • Write the following code down in where you want to your hooks enable.
HookManager.getDefault().applyHooks(YourClass.class);
  • You can also hook a method without annotation.
HookManager.getDefault().hookMethod(originMethod, hookMethod);

3. Compatibility

  • Dalvik & Android 4.2
  • Dalvik & Android 4.3
  • Art & Android 5.0
  • Art & Android 5.0.1
  • Art & Android 5.1
  • Art & Android 6.0
  • Art & Android 6.0.1
  • aliyunOS VM

4. Showcase

https://github.com/dodola/RocooFix

5. Help improve Legend

if (Country.China == your.country) {
  QQGroup.join(530497973);
} else {
  webView.loadUrl("https://github.com/asLody/legend/issues");
}

6. Author

Lody

Become a better Android Developer
Millions of developers are learning at MindOrks

Online Training Program

Featured Blogs

Our Team

MindOrks is Certainly one of the best online blog to stay on top of all the Android development news, coding and design patterns. Finally a blog I can count on to keep myself updated with latest and greatest things happening in Android world.

Vipul Shah
Android Developer
Microsoft

Become Pro in Android by watching videos

OUR LEARNERS WORK AT