A fork of JingMatrix's LSPosed/Vector, aiming to make GKMSPatch work
Go to file
Jim Wu 29b4646158 Fix typo 2019-12-19 17:55:44 +08:00
.github/ISSUE_TEMPLATE Update issue templates 2019-10-22 14:49:55 +08:00
art Fix typo 2019-12-19 17:55:44 +08:00
dalvikdx Fixed building on Windows environment 2019-03-27 09:40:41 +02:00
dexmaker Fixed building on Windows environment 2019-03-27 09:40:41 +02:00
edxp-common SandHook: remove useless code & fix dex cache 2019-11-13 20:05:27 +08:00
edxp-core Update module description 2019-12-19 16:01:54 +08:00
edxp-sandhook SandHook : update sandhook to fix hooking Thread.class 2019-12-17 14:08:26 +08:00
edxp-whale Optimize module loading under dynamic-modules mode 2019-06-19 16:35:20 +08:00
edxp-yahfa Optimize module loading under dynamic-modules mode 2019-06-19 16:35:20 +08:00
gradle/wrapper Update gradle plugin 2019-04-20 12:31:31 +08:00
hiddenapi-stubs SandHook : update sandhook to fix some crash on Q 2019-11-08 17:39:53 +08:00
xposed-bridge SandHook: remove useless code & fix dex cache 2019-11-13 20:05:27 +08:00
.gitattributes Migrate to new EdXposedManager installer app 2019-02-04 03:27:46 +08:00
.gitignore fix: replace whale so file to fix crash on x86_64 2019-11-04 14:48:13 +08:00
LICENSE.md Create LICENSE.md 2019-01-21 02:44:11 +08:00
README.md Update readme 2019-12-19 17:42:04 +08:00
README_CN.md Update readme 2019-12-19 17:42:04 +08:00
appveyor.yml Remove supolicy commands, use magisk-custom-sepolicy-installer instead 2019-10-19 21:22:11 +08:00
build.gradle Update gradle plugin 2019-04-20 12:31:31 +08:00
gradle.properties Disable R8 2019-04-20 16:27:50 +08:00
gradlew Refactor project structure 2019-03-19 14:32:44 +08:00
gradlew.bat Migrate to GitHub 2019-01-19 01:54:14 +08:00
settings.gradle Introduce Whale hook for Android 2019-03-20 10:29:51 +08:00

README.md

EdXposed Framework

Latest builds 中文说明文档

Introduction

A Riru module trying to provide an ART hooking framework (initially for Android Pie) which delivers consistent APIs with the OG Xposed, leveraging YAHFA (or SandHook) hooking framework, supports Android 8.0 ~ 10.

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 to decide for one. No way to combine them, unless the author builds multiple APKs with different combinations.

Supported Versions

  • Android Q (10)[sdk29]
  • Android Pie (9)[sdk28]
  • Android Oreo (8.x)[sdk26/27]

For Android Nougat (7.x) and lower, please use the original Xposed Framework.

Build Requirements

Same as Riru-Core's and zip binaries can be downloaded from here.

Build

  1. Execute task :edxp-core:[zip|push][Yahfa|Sandhook]Release to build flashable zip for corresponding variant.
  2. Find the flashable under edxp-core/release/.
  3. Flash the zip in recovery mode or via Magisk Manager.

Install

  1. Install Magisk v19.0+ (for latest EdXposed or Huawei devices, use our custom Magisk: Change Magisk update channel to this).
  2. Install Riru-Core v19+ from Magisk repo.
  3. Download and install EdXposed in Magisk Manager or recovery mode.
  4. Install companion application.
  5. Reboot.
  6. Have fun! :)

Download

Edxposed has three different builds

  • BetaStable version after passing the test, suitable for general users, update slowly. Download Beta version in Magisk Manager's [Downloads] tab

  • Alpha: Test version with multiple commits. Download Alpha version in [Github Releases]

  • Canary: Debug version. Automatically build by CI. Download Canary version in [EdXposed Manager]

Companion Applications

Known Issues

  • May not be compatible with all ART devices.
  • (Provisional solved, Use magiskpolicy to enable needed SELinux policies) File access services are not implemented yet.
  • (Provisional solved, #384) Wait for Magisk sepolicy update.
  • (Provisional solved, #386) SafetyNet and some app tripped EdXposed.
  • (Provisional solved, #401) Some module cannot hook app, such as WeXposed.
  • (Fixed, use EdXposed Manager v4.5.2 and newer) Dynamic modules not work, caused by SELinux.

Get Help

  • GitHub issues: Issues

  • Notice(for Chinese): In view of the low quality of issues submitted, please read the Chinese user report firstEdXposedIssuesReport_cn(If you don't read the instructions, the submitted issue is likely to be closed)

For Developers

Developers are welcomed to write Xposed modules with hooks based on EdXposed Framework. Module written based on EdXposed framework is fully compatible with the original Xposed Framework, so contrary a Xposed Framework-based module will work well with the EdXposed framework too.

We use the module repository of the original Xposed, so you simply upload the module to repository, then you can download your module in EdXposed.

Community Discussion

Notice: These community group don't accept any bug report, please use Get help to report.

Contribute

  • Apparently this framework is far from stable and all kinds of PRs are welcome. :)
  • Buy me a coffee if you like my work.

Credits

  • YAHFA: the core ART hooking framework
  • Magisk: makes all these possible
  • Riru: provides a way to inject codes into zygote process
  • XposedBridge: the OG xposed framework APIs
  • dexmaker and dalvikdx: to dynamiclly generate YAHFA hooker classes
  • Whale: used for inline hooking
  • SandHook: ART hooking framework for SandHook variant