A fork of NPatch allowing to patch API 101 plugins (gkms-localify only)
Go to file
pengc 4cf450707a normalize eol 2021-06-02 17:20:50 +08:00
.github/workflows reduce ci time 2021-04-20 07:18:25 +08:00
apksigner@e1bd6e19a0 add apksigner as submodule 2021-04-07 23:30:59 +08:00
app fix bypass signature 2021-05-01 13:47:18 +08:00
appstub fix bypass signature 2021-05-01 13:47:18 +08:00
axmlprinter fix build again 2021-04-08 23:46:35 +08:00
gradle/wrapper fix bypass signature 2021-05-01 13:47:18 +08:00
mmp@64e7449125 fix bypass signature 2021-05-01 13:47:18 +08:00
patch minor fix 2021-04-29 09:26:05 +08:00
share supports signature bypass level 2021-04-23 09:19:18 +08:00
.gitattributes normalize eol 2021-06-02 17:20:50 +08:00
.gitignore done with project structure refine 2021-04-07 12:06:30 +08:00
.gitmodules change upstream lsp repo 2021-04-17 21:24:32 +08:00
LICENSE Create LICENSE 2021-04-09 11:48:53 +08:00
README.md update README 2021-04-24 15:09:42 +08:00
build.gradle fix loader's loader 2021-04-24 14:45:41 +08:00
gradle.properties done with project structure refine 2021-04-07 12:06:30 +08:00
gradlew done with project structure refine 2021-04-07 12:06:30 +08:00
gradlew.bat done with project structure refine 2021-04-07 12:06:30 +08:00
settings.gradle add loader's loader 2021-04-24 11:31:58 +08:00

README.md

Introduction

LSPatch fork from Xpatch.

LSPatch provides a way to insert dex and so into the target APK by repackaging. The following changes have been made since Xpatch

  1. use LSPosed as Hook framework
  2. Clean up the code
  3. merge Xpatch's Loader and Patch into a single project

Usage

  1. download the artifact
  2. run java -jar lspatch.jar

Build

gradlew build[Debug|Release]

Supported Android Versions

Same with LSPosed

Principle

  1. Decompress target APK.
  2. Patch the app property of AndroidManifest.xml in the target APK, changing it to the Application class in the inserted dex.
  3. Copy all files in list-so, list-assets, list-dex into target APK.
  4. Package and sign target APK.

Running Stage:

  1. Inserted dex initializes LSPosed
  2. New ClassLoader from assets/lsploader.dex.
  3. Loads the Xposed module installed in the system with new ClassLoader.

Known issues

  1. Can't solve the signature verification issue perfectly
  2. If you use under Windows, you need open CMD/Powershell with Run as Administrator, See Code.