MCPcopy
hub / github.com/JingMatrix/Vector

github.com/JingMatrix/Vector @v2.0 sqlite

repository ↗ · DeepWiki ↗ · release v2.0 ↗
2,116 symbols 6,054 edges 219 files 334 documented · 16%
README

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 ~ 16

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

Troubleshooting guide and Disscusions.

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).

Extension points exported contracts — how you extend this code

IInterface (Interface)
(no doc) [6 implementers]
hiddenapi/stubs/src/main/java/android/os/IInterface.java
IXposedHookInitPackageResources (Interface)
Get notified when the resources for an app are initialized. In #handleInitPackageResources, resource replacement [2 implementers]
core/src/main/java/de/robv/android/xposed/IXposedHookInitPackageResources.java
ModuleListener (Interface)
(no doc) [1 implementers]
app/src/main/java/org/lsposed/manager/util/ModuleUtil.java
Listener (Interface)
(no doc) [1 implementers]
daemon/src/main/java/org/lsposed/lspd/service/BridgeService.java
IPowerManager (Interface)
(no doc) [4 implementers]
hiddenapi/stubs/src/main/java/android/os/IPowerManager.java
IXposedHookLoadPackage (Interface)
Get notified when an app ("Android package") is loaded. This is especially useful to hook some app-specific methods. <p [2 …
core/src/main/java/de/robv/android/xposed/IXposedHookLoadPackage.java
RepoListener (Interface)
(no doc)
app/src/main/java/org/lsposed/manager/repo/RepoLoader.java
IIntentSender (Interface)
(no doc) [4 implementers]
hiddenapi/stubs/src/main/java/android/content/IIntentSender.java

Core symbols most depended-on inside this repo

e
called by 133
services/daemon-service/src/main/java/org/lsposed/lspd/util/Utils.java
getString
called by 127
core/src/main/java/android/content/res/XResources.java
get
called by 86
hiddenapi/stubs/src/main/java/android/os/SystemProperties.java
add
called by 83
core/src/main/java/de/robv/android/xposed/XposedBridge.java
getResources
called by 82
core/src/main/java/android/content/res/XResForwarder.java
d
called by 69
services/daemon-service/src/main/java/org/lsposed/lspd/util/Utils.java
setText
called by 69
app/src/main/java/org/lsposed/manager/ui/widget/ExpandableTextView.java
log
called by 63
core/src/main/java/de/robv/android/xposed/XposedBridge.java

Shape

Method 1,791
Class 291
Interface 33
Enum 1

Languages

Java100%

Modules by API surface

core/src/main/java/de/robv/android/xposed/XposedHelpers.java97 symbols
app/src/main/java/com/google/android/material/internal/SubtitleCollapsingTextHelper.java93 symbols
app/src/main/java/com/google/android/material/appbar/SubtitleCollapsingToolbarLayout.java83 symbols
core/src/main/java/android/content/res/XResources.java81 symbols
daemon/src/main/java/org/lsposed/lspd/service/ConfigManager.java73 symbols
app/src/main/java/org/lsposed/manager/ui/fragment/ModulesFragment.java64 symbols
daemon/src/main/java/org/lsposed/lspd/service/LSPManagerService.java61 symbols
app/src/main/java/org/lsposed/manager/ui/fragment/RepoItemFragment.java55 symbols
app/src/main/java/org/lsposed/manager/ui/fragment/LogsFragment.java44 symbols
app/src/main/java/org/lsposed/manager/repo/model/OnlineModule.java42 symbols
app/src/main/java/org/lsposed/manager/ConfigManager.java39 symbols
app/src/main/java/org/lsposed/manager/adapters/ScopeAdapter.java37 symbols

For agents

$ claude mcp add Vector \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact