Java Xposed Api for 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 tosun.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 infodeoptimizeMethod
- Deoptimises method to solve inline issues, see LSPlant doc for more infodisableProfileSaver
- 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_worksdisableHiddenApiRestrictions
- Disables all hidden api restrictions, allowing full access to internal Android APIs, see https://developer.android.com/guide/app-compatibility/restrictions-non-sdk-interfaces
- Android 5.0 - 15 (API level 21 - 35)
- armeabi-v7a, arm64-v8a, x86, x86-64
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"
}
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!");
}
});
- LSPlant obviously
- Dobby - a lightweight, multi-platform, multi-architecture hook framework
- Pine - AliuHook uses Pine's ElfImg parser
- Original Xposed API