/ARTful

The ARTful library for dynamically modifying the Android Runtime

Primary LanguageC++Apache License 2.0Apache-2.0

artful logo


License: Apache 2.0 GitHub release (latest by date) GitHub stars GitHub forks GitHub contributors Follow @lauriewired on Twitter


Description

ARTful is a native Android library the allows developers to modify the Android Runtime (ART) on Android 13 + 14. With this tool, you can dynamically change the implementation of any static method within your application or the Android Framework to affect methods called from within your application. This eliminates the requirement of using plaintext references to Android ClassLoaders to execute unexpected code and thwarts Reverse Engineering by entirely removing method cross-references.

ARTful_demo_1.mp4

Usage

For detailed installation, usage instructions, and script examples, visit the Wiki.

You can either incorporate ARTful as a precompiled native binary or build it using the sample ARTful app to tailor your runtime manipulation.

Contribute

  • Make a pull request
  • Add an illustrative snippet to the Wiki.
  • Report an error/issue
  • Suggest an improvement
  • Spread the word or give us a star!

Your contributions are greatly appreciated and will help make ARTful an even more powerful tool.

Screenshots

Invoking ARTful

invoking_ARTful

Replacing log.e() with Custom Code

loge_replace