From 8b0a9fc11e1604b43c9703bfcfad5b914d4da129 Mon Sep 17 00:00:00 2001 From: solohsu Date: Sun, 17 Feb 2019 15:23:35 +0800 Subject: [PATCH] Uncomment logging codes --- .../com/elderdrivers/riru/xposed/Main.java | 35 ++++++++++++------- Core/jni/main/inject/framework_hook.cpp | 5 +-- Core/jni/main/native_hook/native_hook.cpp | 2 -- 3 files changed, 26 insertions(+), 16 deletions(-) diff --git a/Bridge/src/main/java/com/elderdrivers/riru/xposed/Main.java b/Bridge/src/main/java/com/elderdrivers/riru/xposed/Main.java index abbdb287..81384bdb 100644 --- a/Bridge/src/main/java/com/elderdrivers/riru/xposed/Main.java +++ b/Bridge/src/main/java/com/elderdrivers/riru/xposed/Main.java @@ -2,21 +2,24 @@ package com.elderdrivers.riru.xposed; import android.annotation.SuppressLint; import android.os.Build; +import android.os.Process; import com.elderdrivers.riru.common.KeepAll; import com.elderdrivers.riru.xposed.core.HookMethodResolver; import com.elderdrivers.riru.xposed.dexmaker.DynamicBridge; import com.elderdrivers.riru.xposed.entry.Router; +import com.elderdrivers.riru.xposed.util.Utils; import java.lang.reflect.Method; +import java.util.Arrays; import static com.elderdrivers.riru.xposed.util.FileUtils.getDataPathPrefix; @SuppressLint("DefaultLocale") public class Main implements KeepAll { - // private static String sForkAndSpecializePramsStr = ""; -// private static String sForkSystemServerPramsStr = ""; + private static String sForkAndSpecializePramsStr = ""; + private static String sForkSystemServerPramsStr = ""; public static String sAppDataDir = ""; public static String sAppProcessName = ""; /** @@ -47,11 +50,13 @@ public class Main implements KeepAll { boolean startChildZygote, String instructionSet, String appDataDir, boolean isGlobalMode, boolean isDynamicModules) { -// sForkAndSpecializePramsStr = String.format( -// "Zygote#forkAndSpecialize(%d, %d, %s, %d, %s, %d, %s, %s, %s, %s, %s, %s, %s)", -// uid, gid, Arrays.toString(gids), debugFlags, Arrays.toString(rlimits), -// mountExternal, seInfo, niceName, Arrays.toString(fdsToClose), -// Arrays.toString(fdsToIgnore), startChildZygote, instructionSet, appDataDir); + if (BuildConfig.DEBUG) { + sForkAndSpecializePramsStr = String.format( + "Zygote#forkAndSpecialize(%d, %d, %s, %d, %s, %d, %s, %s, %s, %s, %s, %s, %s)", + uid, gid, Arrays.toString(gids), debugFlags, Arrays.toString(rlimits), + mountExternal, seInfo, niceName, Arrays.toString(fdsToClose), + Arrays.toString(fdsToIgnore), startChildZygote, instructionSet, appDataDir); + } sAppDataDir = appDataDir; sIsGlobalMode = isGlobalMode; sIsDynamicModules = isDynamicModules; @@ -67,8 +72,8 @@ public class Main implements KeepAll { } public static void forkAndSpecializePost(int pid, String appDataDir) { -// Utils.logD(sForkAndSpecializePramsStr + " = " + pid); if (pid == 0) { + Utils.logD(sForkAndSpecializePramsStr + " = " + Process.myPid()); DynamicBridge.onForkPost(); // in app process 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, long permittedCapabilities, long effectiveCapabilities) { -// sForkSystemServerPramsStr = String.format("Zygote#forkSystemServer(%d, %d, %s, %d, %s, %d, %d)", -// uid, gid, Arrays.toString(gids), debugFlags, Arrays.toString(rlimits), -// permittedCapabilities, effectiveCapabilities); + if (BuildConfig.DEBUG) { + sForkSystemServerPramsStr = String.format("Zygote#forkSystemServer(%d, %d, %s, %d, %s, %d, %d)", + uid, gid, Arrays.toString(gids), debugFlags, Arrays.toString(rlimits), + permittedCapabilities, effectiveCapabilities); + } sAppDataDir = getDataPathPrefix() + "android"; // system_server process doesn't need sIsGlobalMode and sIsDynamicModules } public static void forkSystemServerPost(int pid) { -// Utils.logD(sForkSystemServerPramsStr + " = " + pid); if (pid == 0) { + Utils.logD(sForkSystemServerPramsStr + " = " + Process.myPid()); // in system_server process Router.prepare(true); Router.onProcessForked(true); @@ -113,12 +120,16 @@ public class Main implements KeepAll { // native methods /////////////////////////////////////////////////////////////////////////////////////////////// + @SuppressWarnings("all") public static native boolean backupAndHookNative(Object target, Method hook, Method backup); + @SuppressWarnings("all") public static native void ensureMethodCached(Method hook, Method backup); + @SuppressWarnings("all") // JNI.ToReflectedMethod() could return either Method or Constructor public static native Object findMethodNative(Class targetClass, String methodName, String methodSig); + @SuppressWarnings("all") private static native void init(int SDK_version); } diff --git a/Core/jni/main/inject/framework_hook.cpp b/Core/jni/main/inject/framework_hook.cpp index 9ef50eb9..3f8cc5a5 100644 --- a/Core/jni/main/inject/framework_hook.cpp +++ b/Core/jni/main/inject/framework_hook.cpp @@ -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, jint runtime_flags, jobjectArray rlimits, 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; } 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) { if (res == 0) { - if (!is_app_need_hook(env, env->NewStringUTF(SYSTEM_SERVER_DATA_DIR))) { + if (!is_app_need_hook(env, sAppDataDir)) { return 0; } prepareJavaEnv(env); diff --git a/Core/jni/main/native_hook/native_hook.cpp b/Core/jni/main/native_hook/native_hook.cpp index 215bcee8..bc988c49 100644 --- a/Core/jni/main/native_hook/native_hook.cpp +++ b/Core/jni/main/native_hook/native_hook.cpp @@ -122,7 +122,5 @@ void install_inline_hooks() { } else { LOGE("disable_HiddenAPIPolicyImpl failed."); } - dlclose(whaleHandle); - dlclose(artHandle); }