Uncomment logging codes
This commit is contained in:
parent
11f4ca8d82
commit
8b0a9fc11e
|
|
@ -2,21 +2,24 @@ package com.elderdrivers.riru.xposed;
|
||||||
|
|
||||||
import android.annotation.SuppressLint;
|
import android.annotation.SuppressLint;
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
|
import android.os.Process;
|
||||||
|
|
||||||
import com.elderdrivers.riru.common.KeepAll;
|
import com.elderdrivers.riru.common.KeepAll;
|
||||||
import com.elderdrivers.riru.xposed.core.HookMethodResolver;
|
import com.elderdrivers.riru.xposed.core.HookMethodResolver;
|
||||||
import com.elderdrivers.riru.xposed.dexmaker.DynamicBridge;
|
import com.elderdrivers.riru.xposed.dexmaker.DynamicBridge;
|
||||||
import com.elderdrivers.riru.xposed.entry.Router;
|
import com.elderdrivers.riru.xposed.entry.Router;
|
||||||
|
import com.elderdrivers.riru.xposed.util.Utils;
|
||||||
|
|
||||||
import java.lang.reflect.Method;
|
import java.lang.reflect.Method;
|
||||||
|
import java.util.Arrays;
|
||||||
|
|
||||||
import static com.elderdrivers.riru.xposed.util.FileUtils.getDataPathPrefix;
|
import static com.elderdrivers.riru.xposed.util.FileUtils.getDataPathPrefix;
|
||||||
|
|
||||||
@SuppressLint("DefaultLocale")
|
@SuppressLint("DefaultLocale")
|
||||||
public class Main implements KeepAll {
|
public class Main implements KeepAll {
|
||||||
|
|
||||||
// private static String sForkAndSpecializePramsStr = "";
|
private static String sForkAndSpecializePramsStr = "";
|
||||||
// private static String sForkSystemServerPramsStr = "";
|
private static String sForkSystemServerPramsStr = "";
|
||||||
public static String sAppDataDir = "";
|
public static String sAppDataDir = "";
|
||||||
public static String sAppProcessName = "";
|
public static String sAppProcessName = "";
|
||||||
/**
|
/**
|
||||||
|
|
@ -47,11 +50,13 @@ public class Main implements KeepAll {
|
||||||
boolean startChildZygote, String instructionSet,
|
boolean startChildZygote, String instructionSet,
|
||||||
String appDataDir, boolean isGlobalMode,
|
String appDataDir, boolean isGlobalMode,
|
||||||
boolean isDynamicModules) {
|
boolean isDynamicModules) {
|
||||||
// sForkAndSpecializePramsStr = String.format(
|
if (BuildConfig.DEBUG) {
|
||||||
// "Zygote#forkAndSpecialize(%d, %d, %s, %d, %s, %d, %s, %s, %s, %s, %s, %s, %s)",
|
sForkAndSpecializePramsStr = String.format(
|
||||||
// uid, gid, Arrays.toString(gids), debugFlags, Arrays.toString(rlimits),
|
"Zygote#forkAndSpecialize(%d, %d, %s, %d, %s, %d, %s, %s, %s, %s, %s, %s, %s)",
|
||||||
// mountExternal, seInfo, niceName, Arrays.toString(fdsToClose),
|
uid, gid, Arrays.toString(gids), debugFlags, Arrays.toString(rlimits),
|
||||||
// Arrays.toString(fdsToIgnore), startChildZygote, instructionSet, appDataDir);
|
mountExternal, seInfo, niceName, Arrays.toString(fdsToClose),
|
||||||
|
Arrays.toString(fdsToIgnore), startChildZygote, instructionSet, appDataDir);
|
||||||
|
}
|
||||||
sAppDataDir = appDataDir;
|
sAppDataDir = appDataDir;
|
||||||
sIsGlobalMode = isGlobalMode;
|
sIsGlobalMode = isGlobalMode;
|
||||||
sIsDynamicModules = isDynamicModules;
|
sIsDynamicModules = isDynamicModules;
|
||||||
|
|
@ -67,8 +72,8 @@ public class Main implements KeepAll {
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void forkAndSpecializePost(int pid, String appDataDir) {
|
public static void forkAndSpecializePost(int pid, String appDataDir) {
|
||||||
// Utils.logD(sForkAndSpecializePramsStr + " = " + pid);
|
|
||||||
if (pid == 0) {
|
if (pid == 0) {
|
||||||
|
Utils.logD(sForkAndSpecializePramsStr + " = " + Process.myPid());
|
||||||
DynamicBridge.onForkPost();
|
DynamicBridge.onForkPost();
|
||||||
// in app process
|
// in app process
|
||||||
if (!sIsGlobalMode) {
|
if (!sIsGlobalMode) {
|
||||||
|
|
@ -88,16 +93,18 @@ public class Main implements KeepAll {
|
||||||
|
|
||||||
public static void forkSystemServerPre(int uid, int gid, int[] gids, int debugFlags, int[][] rlimits,
|
public static void forkSystemServerPre(int uid, int gid, int[] gids, int debugFlags, int[][] rlimits,
|
||||||
long permittedCapabilities, long effectiveCapabilities) {
|
long permittedCapabilities, long effectiveCapabilities) {
|
||||||
// sForkSystemServerPramsStr = String.format("Zygote#forkSystemServer(%d, %d, %s, %d, %s, %d, %d)",
|
if (BuildConfig.DEBUG) {
|
||||||
// uid, gid, Arrays.toString(gids), debugFlags, Arrays.toString(rlimits),
|
sForkSystemServerPramsStr = String.format("Zygote#forkSystemServer(%d, %d, %s, %d, %s, %d, %d)",
|
||||||
// permittedCapabilities, effectiveCapabilities);
|
uid, gid, Arrays.toString(gids), debugFlags, Arrays.toString(rlimits),
|
||||||
|
permittedCapabilities, effectiveCapabilities);
|
||||||
|
}
|
||||||
sAppDataDir = getDataPathPrefix() + "android";
|
sAppDataDir = getDataPathPrefix() + "android";
|
||||||
// system_server process doesn't need sIsGlobalMode and sIsDynamicModules
|
// system_server process doesn't need sIsGlobalMode and sIsDynamicModules
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void forkSystemServerPost(int pid) {
|
public static void forkSystemServerPost(int pid) {
|
||||||
// Utils.logD(sForkSystemServerPramsStr + " = " + pid);
|
|
||||||
if (pid == 0) {
|
if (pid == 0) {
|
||||||
|
Utils.logD(sForkSystemServerPramsStr + " = " + Process.myPid());
|
||||||
// in system_server process
|
// in system_server process
|
||||||
Router.prepare(true);
|
Router.prepare(true);
|
||||||
Router.onProcessForked(true);
|
Router.onProcessForked(true);
|
||||||
|
|
@ -113,12 +120,16 @@ public class Main implements KeepAll {
|
||||||
// native methods
|
// native methods
|
||||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
@SuppressWarnings("all")
|
||||||
public static native boolean backupAndHookNative(Object target, Method hook, Method backup);
|
public static native boolean backupAndHookNative(Object target, Method hook, Method backup);
|
||||||
|
|
||||||
|
@SuppressWarnings("all")
|
||||||
public static native void ensureMethodCached(Method hook, Method backup);
|
public static native void ensureMethodCached(Method hook, Method backup);
|
||||||
|
|
||||||
|
@SuppressWarnings("all")
|
||||||
// JNI.ToReflectedMethod() could return either Method or Constructor
|
// JNI.ToReflectedMethod() could return either Method or Constructor
|
||||||
public static native Object findMethodNative(Class targetClass, String methodName, String methodSig);
|
public static native Object findMethodNative(Class targetClass, String methodName, String methodSig);
|
||||||
|
|
||||||
|
@SuppressWarnings("all")
|
||||||
private static native void init(int SDK_version);
|
private static native void init(int SDK_version);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -41,7 +41,8 @@ void findAndCall(JNIEnv *env, const char *methodName, const char *methodSig, ...
|
||||||
void onNativeForkSystemServerPre(JNIEnv *env, jclass clazz, uid_t uid, gid_t gid, jintArray gids,
|
void onNativeForkSystemServerPre(JNIEnv *env, jclass clazz, uid_t uid, gid_t gid, jintArray gids,
|
||||||
jint runtime_flags, jobjectArray rlimits,
|
jint runtime_flags, jobjectArray rlimits,
|
||||||
jlong permittedCapabilities, jlong effectiveCapabilities) {
|
jlong permittedCapabilities, jlong effectiveCapabilities) {
|
||||||
if (!is_app_need_hook(env, env->NewStringUTF(SYSTEM_SERVER_DATA_DIR))) {
|
sAppDataDir = env->NewStringUTF(SYSTEM_SERVER_DATA_DIR);
|
||||||
|
if (!is_app_need_hook(env, sAppDataDir)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
prepareJavaEnv(env);
|
prepareJavaEnv(env);
|
||||||
|
|
@ -53,7 +54,7 @@ void onNativeForkSystemServerPre(JNIEnv *env, jclass clazz, uid_t uid, gid_t gid
|
||||||
|
|
||||||
int onNativeForkSystemServerPost(JNIEnv *env, jclass clazz, jint res) {
|
int onNativeForkSystemServerPost(JNIEnv *env, jclass clazz, jint res) {
|
||||||
if (res == 0) {
|
if (res == 0) {
|
||||||
if (!is_app_need_hook(env, env->NewStringUTF(SYSTEM_SERVER_DATA_DIR))) {
|
if (!is_app_need_hook(env, sAppDataDir)) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
prepareJavaEnv(env);
|
prepareJavaEnv(env);
|
||||||
|
|
|
||||||
|
|
@ -122,7 +122,5 @@ void install_inline_hooks() {
|
||||||
} else {
|
} else {
|
||||||
LOGE("disable_HiddenAPIPolicyImpl failed.");
|
LOGE("disable_HiddenAPIPolicyImpl failed.");
|
||||||
}
|
}
|
||||||
dlclose(whaleHandle);
|
|
||||||
dlclose(artHandle);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue