A fork of JingMatrix's LSPosed/Vector, aiming to make GKMSPatch work
Go to file
dependabot[bot] 3cdf5ac345 Update dependencies
JingMatrix/LSPlt is updated to sync with upstream.

Bump seanmiddleditch/gha-setup-ninja from 5 to 6 in the actions group (#211)

Bumps the actions group with 1 update: [seanmiddleditch/gha-setup-ninja](https://github.com/seanmiddleditch/gha-setup-ninja).

Updates `seanmiddleditch/gha-setup-ninja` from 5 to 6
- [Release notes](https://github.com/seanmiddleditch/gha-setup-ninja/releases)
- [Commits](https://github.com/seanmiddleditch/gha-setup-ninja/compare/v5...v6)

---
updated-dependencies:
- dependency-name: seanmiddleditch/gha-setup-ninja
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: actions
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

Bump the maven group with 8 updates (#210)

Bumps the maven group with 8 updates:

| Package | From | To |
| --- | --- | --- |
| androidx.activity:activity | `1.10.0` | `1.10.1` |
| androidx.constraintlayout:constraintlayout | `2.2.0` | `2.2.1` |
| androidx.navigation:navigation-fragment | `2.8.7` | `2.8.8` |
| androidx.navigation:navigation-ui | `2.8.7` | `2.8.8` |
| androidx.navigation.safeargs | `2.8.7` | `2.8.8` |
| com.android.tools.build:apksig | `8.8.1` | `8.8.2` |
| com.android.library | `8.8.1` | `8.8.2` |
| com.android.application | `8.8.1` | `8.8.2` |

Updates `androidx.activity:activity` from 1.10.0 to 1.10.1

Updates `androidx.constraintlayout:constraintlayout` from 2.2.0 to 2.2.1

Updates `androidx.navigation:navigation-fragment` from 2.8.7 to 2.8.8

Updates `androidx.navigation:navigation-ui` from 2.8.7 to 2.8.8

Updates `androidx.navigation.safeargs` from 2.8.7 to 2.8.8

Updates `androidx.navigation:navigation-ui` from 2.8.7 to 2.8.8

Updates `com.android.tools.build:apksig` from 8.8.1 to 8.8.2

Updates `com.android.library` from 8.8.1 to 8.8.2

Updates `com.android.application` from 8.8.1 to 8.8.2

Updates `com.android.library` from 8.8.1 to 8.8.2

Updates `com.android.application` from 8.8.1 to 8.8.2

Updates `androidx.navigation.safeargs` from 2.8.7 to 2.8.8

---
updated-dependencies:
- dependency-name: androidx.activity:activity
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: maven
- dependency-name: androidx.constraintlayout:constraintlayout
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: maven
- dependency-name: androidx.navigation:navigation-fragment
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: maven
- dependency-name: androidx.navigation:navigation-ui
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: maven
- dependency-name: androidx.navigation.safeargs
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: maven
- dependency-name: androidx.navigation:navigation-ui
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: maven
- dependency-name: com.android.tools.build:apksig
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: maven
- dependency-name: com.android.library
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: maven
- dependency-name: com.android.application
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: maven
- dependency-name: com.android.library
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: maven
- dependency-name: com.android.application
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: maven
- dependency-name: androidx.navigation.safeargs
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: maven
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

Bump the submodule group with 2 updates (#212)

Bumps the submodule group with 2 updates: [external/fmt](https://github.com/fmtlib/fmt) and [apache/commons-lang](https://github.com/apache/commons-lang).

Updates `external/fmt` from `c9267da` to `577fd3b`
- [Release notes](https://github.com/fmtlib/fmt/releases)
- [Commits](c9267da4df...577fd3be88)

Updates `apache/commons-lang` from `899358b` to `fb42e80`
- [Commits](899358bb3f...fb42e80e92)

---
updated-dependencies:
- dependency-name: external/fmt
  dependency-type: direct:production
  dependency-group: submodule
- dependency-name: apache/commons-lang
  dependency-type: direct:production
  dependency-group: submodule
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

roll back lsplant

Bump the maven group with 3 updates (#216)

Bumps the maven group with 3 updates: com.android.tools.build:apksig, com.android.library and com.android.application.

Updates `com.android.tools.build:apksig` from 8.8.2 to 8.9.0

Updates `com.android.library` from 8.8.2 to 8.9.0

Updates `com.android.application` from 8.8.2 to 8.9.0

Updates `com.android.library` from 8.8.2 to 8.9.0

Updates `com.android.application` from 8.8.2 to 8.9.0

---
updated-dependencies:
- dependency-name: com.android.tools.build:apksig
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: maven
- dependency-name: com.android.library
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: maven
- dependency-name: com.android.application
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: maven
- dependency-name: com.android.library
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: maven
- dependency-name: com.android.application
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: maven
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-07 07:13:34 +01:00
.github Update dependencies 2025-03-07 07:13:34 +01:00
apache Update dependencies 2025-02-14 19:55:12 +01:00
app [translation] Update translation from Crowdin (#151) 2025-01-18 18:07:02 +01:00
axml Update dependencies 2025-01-18 18:07:47 +01:00
core Clear compilation warnings (#121) 2024-12-09 22:15:18 +01:00
daemon Fix liboat_hook.so inaccessible in some device (#190) 2025-02-23 09:30:36 +01:00
dex2oat Fix liboat_hook.so inaccessible in some device (#190) 2025-02-23 09:30:36 +01:00
external Update dependencies 2025-03-07 07:13:34 +01:00
gradle Update dependencies 2025-03-07 07:13:34 +01:00
hiddenapi Fix `IContentProvider` for Android P and below (#2735) 2023-09-01 21:54:50 +08:00
magisk-loader Allow dex2oat to access files received from sockets (#165) 2025-01-22 12:01:55 +01:00
services Add more options in the Select menu 2024-12-04 21:35:05 +01:00
.gitattributes Ndk build (#753) 2021-06-20 11:46:38 +08:00
.gitignore Rename Apache class names to avoid conflicts 2024-10-31 14:43:43 +01:00
.gitmodules Update dependencies 2025-02-14 19:55:12 +01:00
LICENSE [README] Fix license 2021-02-13 17:28:01 +08:00
README.md Abandon PLT hook for LSPlant 2024-12-04 11:55:28 +01:00
build.gradle.kts Remove topjohnwu/libcxx dependency 2025-01-07 20:58:11 +01:00
crowdin.yml [skip ci] Config crowdin 2024-07-24 10:27:25 +02:00
gradle.properties Adjust proguard for Android R8 2024-05-18 23:48:43 +02:00
gradlew Update dependencies 2025-01-18 18:07:47 +01:00
gradlew.bat Update dependencies (#16) 2024-09-12 11:31:07 +02:00
settings.gradle.kts Add commons-lang as a subproject 2024-09-22 14:25:45 +02:00

README.md

LSPosed Framework

Build Crowdin Download Total

Introduction

A 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 ~ 15

Install

  1. Install Magisk v26+
  2. Download and install LSPosed in Magisk app
  3. Reboot
  4. Open LSPosed manager from notification
  5. Have fun :)

Download

Note: debug builds are only available in Github Actions.

Get Help

Only bug reports from THE LATEST DEBUG BUILD will be accepted.

  • 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
  • XposedBridge: the OG Xposed framework APIs
  • LSPlant: the core ART hooking framework
  • Dobby: inline hooker for LSPlant and native_api implement
  • EdXposed: fork source
  • xz-embedded: decompress .gnu_debugdata header section of stripped libart.so
  • Riru: provides a way to inject code into zygote process
  • ~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).