LSPlant  LSPosed Developers
lsplant Namespace Reference

Namespaces

 v2
 

Data Structures

struct  InitInfo
 Information and configuration that are needed to call Init() More...
 

Functions

bool Init (JNIEnv *env, const InitInfo &info)
 Initialize LSPlant for the proceeding hook. It mainly prefetch needed symbols and hook some functions. The env should not have any restriction for accessing hidden APIs. You can obtain such a JNIEnv in JNI_OnLoad(). More...
 
jobject Hook (JNIEnv *env, jobject target_method, jobject hooker_object, jobject callback_method)
 Hook a Java method by providing the target_method together with the context object hooker_object and its callback callback_method. More...
 
bool UnHook (JNIEnv *env, jobject target_method)
 Unhook a Java function that is previously hooked. More...
 
bool IsHooked (JNIEnv *env, jobject method)
 Check if a Java function is hooked by LSPlant or not. More...
 
bool Deoptimize (JNIEnv *env, jobject method)
 Deoptimize a method to avoid hooked callee not being called because of inline. More...
 
void * GetNativeFunction (JNIEnv *env, jobject method)
 Get the registered native function pointer of a native function. It helps user to hook native methods directly by backing up the native function pointer this function returns and env->registerNatives another native function pointer. More...
 
bool MakeClassInheritable (JNIEnv *env, jclass target)
 Make a class inheritable. It will make the class non-final and make all its private constructors protected. More...
 
bool MakeDexFileTrusted (JNIEnv *env, jobject cookie)
 Make a DexFile trustable so that it can access hidden APIs. This is useful because we likely need to access hidden APIs when hooking system methods. A concern of this function is that cookie of the DexFile maybe a hidden APIs. So get please get the needed jfieldID beforehand (like in JNI_OnLoad as Init()). More...