explaingit

jingmatrix/vector

11,139JavaAudience · developerComplexity · 4/5LicenseSetup · hard

TLDR

An Android framework for rooted phones that lets installable modules change how apps behave at runtime using function hooking, with all changes undone by a reboot.

Mindmap

mindmap
  root((repo))
    What it does
      Runtime app hooking
      Module loading
      Undo on reboot
    Tech stack
      Java
      C++
      Zygisk
      LSPlant
    Requirements
      Rooted Android
      Magisk or KernelSU
      Android 8.1 to 17
    Use cases
      Install Xposed modules
      Write custom modules
      Safe app modification
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Install Xposed modules on a rooted Android device with Magisk or KernelSU to modify app behavior.

USE CASE 2

Write a new module using the Xposed or libxposed API to intercept and change how a specific Android app functions.

USE CASE 3

Test Android app modifications in memory without permanently altering installed files, just reboot to undo.

Tech stack

JavaC++AndroidZygiskLSPlant

Getting it running

Difficulty · hard Time to first run · 1h+

Requires a rooted Android device with Magisk or KernelSU and Zygisk mode enabled.

Open source under GPL v3, you can use and modify it, but any version you distribute must also be open source under the same license.

In plain English

Vector is a framework for Android devices that lets small add-on programs (called modules) change how apps and the Android system behave, without permanently altering any installed files. It works through a mechanism called hooking, which intercepts function calls inside running apps and redirects them so a module can modify the result. Because changes happen entirely in memory at runtime, rebooting the phone is enough to undo everything. The project is built as a Zygisk module, which means it requires a rooted Android device with either Magisk or KernelSU installed and Zygisk enabled. Vector supports Android versions from 8.1 up through Android 17 Beta. Installation involves downloading a release file, installing it through the root manager app, and rebooting. After that, a system notification gives access to management settings. For developers writing modules, Vector supports two sets of programming interfaces: the older Xposed API that has been standard for years, and the newer libxposed API. This compatibility means most existing Xposed modules can work with Vector without major changes. Under the hood, the framework relies on a library called LSPlant for the actual hooking at the native Android Runtime level. The project credits several other open-source tools including Magisk, XposedBridge, and the Dobby inline hooking library. The source code is released under the GNU General Public License v3. Stable releases and continuous integration builds are both available on GitHub. Bug reports are accepted only against the latest debug build, and the project asks that all issue reports be written in English regardless of the reporter's language.

Copy-paste prompts

Prompt 1
I have a rooted Android phone with Magisk installed. Walk me through installing the Vector Zygisk framework and getting an existing Xposed module running.
Prompt 2
I want to write a Vector module that hooks a specific Android app method and changes its return value. Show me how to use the libxposed API to do this.
Prompt 3
Explain how Zygisk hooking works in the Vector framework, how does it intercept function calls without modifying the APK on disk?
Prompt 4
How does Vector's use of LSPlant differ from other Android hooking approaches, and what does native ART-level hooking give you?
Open on GitHub → Explain another repo

← jingmatrix on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.