Skip to content
master
Switch branches/tags
Code

Latest commit

) (#1944)

With webview on Android 13 Beta (at least on Google Pixel devices),
webview expects to be able to read from a randomly generated temp directory:

    /data/user/0/com.android.shell/cache/.com.google.Chrome.XXXXXX (deleted)

Before this change, the root of the cache directory is labeled with
`shell_data_file` and `Chrome_ChildIOT` is not permitted read access to
the temp directory:

    05-12 10:59:48.728 13692 13692 W Chrome_ChildIOT: type=1400 audit(0.0:258): avc: denied { read } for path=2F646174612F757365722F302F636F6D2E616E64726F69642E7368656C6C2F63616368652F2E636F6D2E676F6F676C652E4368726F6D652E5965394D6433202864656C6574656429 dev="dm-47" ino=230834 scontext=u:r:isolated_app:s0:c512,c768 tcontext=u:object_r:shell_data_file:s0 tclass=file permissive=0
793c5c9

Git stats

Files

Permalink
Failed to load latest commit information.

LSPosed Framework

Build Crowdin Channel Chat Download Total

Introduction

A Riru / Zygisk module trying to provide an ART hooking framework which delivers consistent APIs with the OG Xposed, leveraging LSPlant hooking framework.

Xposed is a framework for modules that can change the behavior of the system and apps without touching any APKs. That's great because it means that modules can work for different versions and even ROMs without any changes (as long as the original code was not changed too much). It's also easy to undo. As all changes are done in the memory, you just need to deactivate the module and reboot to get your original system back. There are many other advantages, but here is just one more: multiple modules can do changes to the same part of the system or app. With modified APKs, you have to choose one. No way to combine them, unless the author builds multiple APKs with different combinations.

Supported Versions

Android 8.1 ~ 13 Beta 1

Install

  1. Install Magisk v23+ (Riru) / v24+ (Zygisk)
  2. (For Riru flavor) Install Riru v25+ from Magisk repo
  3. Download and install LSPosed in Magisk app
  4. Reboot
  5. Follow the prompt to add LSPosed shortcut to launcher
    • Some launchers won't show a prompt but silently add the shortcut
    • If the shortcut cannot be added, you can install the manager located at /data/adb/lspd/manager.apk manually
    • If you accidentally deleted the shortcut, reboot your device or install the manager manually to add the shortcut again
    • If you don't need a shortcut, install the manager manually and you can disable future shortcut being added in the settings
    • In any case, you can dial *#*#5776733#*#* (aka LSPosed) to launch the manager if you have a dialer
  6. Have fun :)

Download

For stable releases, please go to Github Releases page For canary build, please check Github Actions Note: debug builds are only available in Github Actions.

Get Help

  • GitHub issues: Issues
  • (For Chinese speakers) 本项目只接受英语标题的issue。如果您不懂英语,请使用翻译工具

For Developers

Developers are welcome to write Xposed modules with hooks based on LSPosed Framework. A module based on LSPosed framework is fully compatible with the original Xposed Framework, and vice versa, a Xposed Framework-based module will work well with LSPosed framework too.

We use our own module repository. We welcome developers to submit modules to our repository, and then modules can be downloaded in LSPosed.

Community Discussion

Notice: These community groups don't accept any bug report, please use Get help to report.

Translation Contributing

You can contribute translation here.

Credits

  • Magisk: makes all these possible
  • Riru: provides a way to inject code into zygote process
  • XposedBridge: the OG Xposed framework APIs
  • Dobby: used for inline hooking
  • LSPlant: the core ART hooking framework
  • EdXposed: fork source
  • SandHook: ART hooking framework for SandHook variant
  • YAHFA: previous ART hooking framework
  • dexmaker and dalvikdx: to dynamically generate YAHFA hooker classes
  • DexBuilder: to dynamically generate YAHFA hooker classes

License

LSPosed is licensed under the GNU General Public License v3 (GPL-3) (http://www.gnu.org/copyleft/gpl.html).