Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/aliucord/hook
Java Xposed Api for LSPlant
https://github.com/aliucord/hook
Last synced: about 9 hours ago
JSON representation
Java Xposed Api for LSPlant
- Host: GitHub
- URL: https://github.com/aliucord/hook
- Owner: Aliucord
- License: osl-3.0
- Created: 2022-03-22T00:12:04.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2024-09-11T01:13:24.000Z (3 months ago)
- Last Synced: 2024-12-14T23:04:37.260Z (7 days ago)
- Language: Java
- Homepage:
- Size: 161 KB
- Stars: 126
- Watchers: 4
- Forks: 29
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# AliuHook
Java Xposed Api for [LSPlant](https://github.com/LSPosed/LSPlant)
Please note that this is only a partial implementation of Xposed, since we only need method hooking.
Thus, only XposedBridge and hook classes are implemented. If you need the rest, just copy paste it
from original Xposed and it should work with almost no modificiations.Additionally, XposedBridge contains these new methods:
- `allocateInstance` - Allocates a class instance without calling any constructors
Can be used as a simpler alternative to `sun.misc.Unsafe#allocateInstance`
- `invokeConstructor` - Invokes a constructor for an existing instance, most useful in conjunction
raw instance allocation.
- `makeClassInheritable` - Makes a final class inheritable, see LSPlant doc for more info
- `deoptimizeMethod` - Deoptimises method to solve inline issues, see LSPlant doc for more info
- `disableProfileSaver` - Disables Android Profile Saver to try to prevent ahead of time compilation
of code which leads to aggressive inlining,
see https://source.android.com/devices/tech/dalvik/configure#how_art_works
- `disableHiddenApiRestrictions` - Disables all hidden api restrictions, allowing full access to
internal Android APIs,
see https://developer.android.com/guide/app-compatibility/restrictions-non-sdk-interfaces## Supported Android versions (same as LSPlant)
- Android 5.0 - 15 (API level 21 - 35)
- armeabi-v7a, arm64-v8a, x86, x86-64## Get Started
```gradle
repositories {
maven("https://maven.aliucord.com/snapshots")
}dependencies {
// or change main-SNAPSHOT to short commit hash to target a specific commit
implementation "com.aliucord:Aliuhook:main-SNAPSHOT"
}
```#### Now you're ready to get hooking! No init needed
```java
XposedBridge.hookMethod(Activity.class.getDeclaredMethod("onCreate", Bundle.class), new XC_MethodHook() {
@Override
public void beforeHookedMethod(MethodHookParam param) throws Throwable {
Log.d(TAG, "Activity" + param.thisObject + "about to be created!");
}
});
```## Credits
- [LSPlant](https://github.com/LSPosed/LSPlant) obviously
- [Dobby](https://github.com/LSPosed/Dobby) - a lightweight, multi-platform, multi-architecture hook framework
- [Pine](https://github.com/canyie/Pine) - AliuHook uses Pine's ElfImg parser
- [Original Xposed API](https://github.com/rovo89/XposedBridge)