A fork of JingMatrix's LSPosed/Vector, aiming to make GKMSPatch work
Go to file
LoveSy 59cc621d98
Parasitic manager into a system app (#1103)
* add activity controller

* Hook `TRANSACTION_setActivityController`

* Hook setActivityController

* Inject into settings

* Check categories for manager

* Inject manager

* Hook webview

* Should not load modules for manager

* Remove shouldBlock

* remove pendding when server died

* Add shortcut automatically

* Load resources from manager

* Fix shortcut sleep wait

* Make R8 happy

* Fix when am is proxy

* lspd should run with euid=1000 after system server started

* Add shortcut from daemon

* Set injected package into gradle build script

* Try to inject into shell instead of settings

* Fix shortcut of shell and add icon

* Fix proguard

* hook handleReceiver

* Properly solve conflict

* Update shortcut everytime unlock

* Clear log

* Fix build

* chageng to use process${variantCapped}Resources

* Remove auto install manager

* Fix crash on some devices

* Fix new intent

* Make app toast when restart fails

* Fallback to recreate

* refine code

* Use fakecontext to set shortcut

* Fix compatibility with Android 12

* Fix `credentialProtectedDataDir`

* Fix webview

* Fix recreate

* Fix autofill

* Fix webview cache context

* Switch to inject into settings

* Send notification from daemon

* Change notification title
2021-09-16 13:36:04 +00:00
.github Update crowdin.yml (#1093) 2021-09-10 15:02:06 +08:00
app Parasitic manager into a system app (#1103) 2021-09-16 13:36:04 +00:00
core Parasitic manager into a system app (#1103) 2021-09-16 13:36:04 +00:00
gradle/wrapper Update dependencies (#971) 2021-08-21 19:47:39 +08:00
hiddenapi-bridge Parasitic manager into a system app (#1103) 2021-09-16 13:36:04 +00:00
hiddenapi-stubs Parasitic manager into a system app (#1103) 2021-09-16 13:36:04 +00:00
manager-service Parasitic manager into a system app (#1103) 2021-09-16 13:36:04 +00:00
service@e183a459a2 Fix loader of `ParceledListSlice` (#865) 2021-08-07 10:07:40 +00:00
.gitattributes Ndk build (#753) 2021-06-20 11:46:38 +08:00
.gitignore Clean code (#863) 2021-08-07 10:10:34 +08:00
.gitmodules [core] Update submodule (#827) 2021-07-20 22:16:31 +08:00
LICENSE [README] Fix license 2021-02-13 17:28:01 +08:00
README.md [skip ci] Description add Android 12 Beta 5 support (#1084) 2021-09-09 04:16:05 +00:00
build.gradle.kts [app] Preload webview htmls (#1078) 2021-09-08 10:03:02 +08:00
crowdin.yml Update crowdin.yml (#1051) 2021-09-04 04:44:10 +00:00
gradle.properties Enable R8 fullMode (#992) 2021-08-24 12:52:43 +08:00
gradlew [gradle] Remove obsolete workaround (#837) 2021-08-02 17:00:15 +00:00
gradlew.bat Upgrade to AGP 7, ready to use Java 11 (#261) 2021-03-03 16:35:50 +00:00
settings.gradle.kts Android 12 (#814) 2021-07-15 11:46:33 +08:00

README.md

LSPosed Framework

Core Manager Crowdin Channel Download Stars

Introduction

A Riru module trying to provide an ART hooking framework which delivers consistent APIs with the OG Xposed, leveraging YAHFA 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 to decide for one. No way to combine them, unless the author builds multiple APKs with different combinations.

Supported Versions

Android 8.1 ~ 12 Beta 5

Install

  1. Install Magisk v23+
  2. Install Riru v25+ from Magisk repo.
  3. Download and install LSPosed in Magisk Manager
  4. Reboot.
  5. Have fun! :)

Download

For stable release, please go to Github Release page For canary build, please check Github Actions Note: debug build is only available on Github Actions.

Get Help

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

For Developers

Developers are welcomed to write Xposed modules with hooks based on LSPosed Framework. Module written based on LSPosed framework is fully compatible with the original Xposed Framework, so contrary a Xposed Framework-based module will work well with the 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 group don't accept any bug report, please use Get help to report.

Translation Contribute

You can contribute translation here.

Credits

  • YAHFA: the core ART hooking framework
  • Magisk: makes all these possible
  • Riru: provides a way to inject codes into zygote process
  • XposedBridge: the OG xposed framework APIs
  • DexBuilder: to dynamically generate YAHFA hooker classes
  • Dobby: used for inline hooking
  • EdXposed: fork source
  • ~SandHook: ART hooking framework for SandHook variant~
  • ~dexmaker and dalvikdx: 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).