MCPcopy
hub / github.com/android-hacker/VirtualXposed

github.com/android-hacker/VirtualXposed @0.22.0 sqlite

repository ↗ · DeepWiki ↗ · release 0.22.0 ↗
4,865 symbols 14,173 edges 548 files 681 documented · 14%
README

Build Status

中文文档

Introduction

VirtualXposed is a simple App based on VirtualApp and epic that allows you to use an Xposed Module without needing to root, unlock the bootloader, or flash a custom system image. (Supports Android 5.0~10.0)

The only two restriction of VirtualXposed are:

  1. Unable to modify system, so any Module which modifies system won't be able to work properly.
  2. Currently resource hooks are not supported. (Theming modules use Resource Hooks).

Warning

Usage for Commercial Purposes are not allowed!!! Please refer to VirtualApp's declaration.

Usage

Preparation

Download the latest APK from the release page, and install it on your Android device.

Install APP and Xposed Module

Open VirtualXposed, Click on the Drawer Button at the bottom of home page(Or long click the screen), add your desired APP and Xposed Module to VirtualXposed's virtual environment.

Note: All operations(installation of Xposed Module, APP)must be done in VirtualXposed, otherwise the Xposed Module installed won't take effect. For example, if you install the YouTube app on your system (Your phone's original system, not in VirtualXposed), and then install YouTube AdAway (A YouTube Xposed Module) in VirtualXposed; or you install YouTube in VirtualXposed, and install YouTube AdAway on original system; or both of them are installed on original system, neither of these three cases will work!

How to install

There are three ways to install an APP or Xposed Module to VirtualXposed:

  1. Clone an installed app from your original system. (Click Button at bottom of home page, then click Add App, the first page shows a list of installed apps.)
  2. Install via an APK file. (Click Button at bottom of home page, then click Add App, the second page shows APKs found in your sdcard)
  3. Install via an external file chooser. (Click Button at bottom of home page, then click Add App, use the floating action button to choose an APK file to install)

For Xposed Module, You can install it from Xposed Installer, too.

Activate the Xposed Module

Open Xposed Installer in VirtualXposed, go to the module fragment, check the module you want to use:

How to activate module

Reboot

You only need to reboot VirtualXposed, There's no need to reboot your phone; Just click Settings in home page of VirtualXposed, click Reboot button, and VirtualXposed will reboot in a blink.

How to reboot

Supported Modules

Almost all modules except system-relevant are supported, please try it by yourself :)

Others

GameGuardian

VirtualXposed also supports GameGuardian, you should use the separate version for GameGuardian.(Download it in release page).

Video Tutorial

VirusTotal

VirusTotal might report VirtualXposed as a malware, it is stupid, you can refer to my explanation.

And obviously, VirtualXposed is open source, so you can refer to the source code. I am sure that it is safe to use.

If you still couldn't believe in me, you can install version 0.8.7; VirusTotal reports this version as safe.

Support

Contributions to VirtualXposed are always welcomed!!

For Developers

Credits

  1. VirtualApp
  2. Xposed
  3. And64InlineHook

Extension points exported contracts — how you extend this code

IInjector (Interface)
@author Lody The Objects who implemention this interface will be able to inject other object. [15 implementers]
VirtualApp/lib/src/main/java/com/lody/virtual/client/interfaces/IInjector.java
BasePresenter (Interface)
@author Lody [5 implementers]
VirtualApp/app/src/main/java/io/virtualapp/abs/BasePresenter.java
IBadger (Interface)
@author Lody [4 implementers]
VirtualApp/lib/src/main/java/com/lody/virtual/client/badger/IBadger.java
AppData (Interface)
@author Lody [4 implementers]
VirtualApp/app/src/main/java/io/virtualapp/home/models/AppData.java
CrashHandler (Interface)
@author Lody [3 implementers]
VirtualApp/lib/src/main/java/com/lody/virtual/client/core/CrashHandler.java
AppDataSource (Interface)
@author Lody @version 1.0 [2 implementers]
VirtualApp/app/src/main/java/io/virtualapp/home/repo/AppDataSource.java
IJobScheduler (Interface)
IPC interface that supports the app-facing android.app.job.JobScheduler api. [3 implementers]
VirtualApp/lib/src/main/java/com/lody/virtual/server/IJobScheduler.java
OnCardSelected (Interface)
Intimates the implementing class about the selection of a card
VirtualApp/app/src/main/java/io/virtualapp/widgets/CardStackLayout.java

Core symbols most depended-on inside this repo

addMethodProxy
called by 400
VirtualApp/lib/src/main/java/com/lody/virtual/client/hook/base/MethodInvocationStub.java
add
called by 267
VirtualApp/lib/src/main/java/com/lody/virtual/helper/collection/IntArray.java
load
called by 264
VirtualApp/lib/src/main/java/mirror/RefClass.java
get
called by 254
VirtualApp/lib/src/main/java/com/lody/virtual/client/core/VirtualCore.java
printStackTrace
called by 217
VirtualApp/lib/src/main/java/com/lody/virtual/helper/utils/VLog.java
size
called by 132
VirtualApp/lib/src/main/java/com/lody/virtual/server/pm/PackageCacheManager.java
crash
called by 110
VirtualApp/lib/src/main/java/com/lody/virtual/client/env/VirtualRuntime.java
set
called by 109
VirtualApp/lib/src/main/java/com/lody/virtual/client/stub/AmsTask.java

Shape

Method 3,538
Class 1,295
Interface 28
Enum 4

Languages

Java100%

Modules by API surface

VirtualApp/lib/src/main/java/com/lody/virtual/client/hook/proxies/am/MethodProxies.java218 symbols
VirtualApp/lib/src/main/java/com/lody/virtual/client/hook/proxies/pm/MethodProxies.java170 symbols
VirtualApp/lib/src/main/java/com/lody/virtual/client/hook/proxies/account/AccountManagerStub.java111 symbols
VirtualApp/lib/src/main/java/com/lody/virtual/client/stub/StubCP.java109 symbols
VirtualApp/lib/src/main/java/com/lody/virtual/client/stub/StubActivity.java102 symbols
VirtualApp/lib/src/main/java/com/lody/virtual/client/stub/StubDialog.java101 symbols
VirtualApp/lib/src/main/java/com/lody/virtual/client/core/VirtualCore.java95 symbols
VirtualApp/lib/src/main/java/com/lody/virtual/server/am/VActivityManagerService.java81 symbols
VirtualApp/lib/src/main/java/com/lody/virtual/helper/collection/MapCollections.java77 symbols
VirtualApp/lib/src/main/java/com/lody/virtual/server/accounts/VAccountManagerService.java74 symbols
VirtualApp/lib/src/main/java/com/lody/virtual/server/pm/VPackageManagerService.java71 symbols
VirtualApp/lib/src/main/java/com/lody/virtual/client/ipc/VActivityManager.java54 symbols

For agents

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

⬇ download graph artifact