Uncomment logging codes

This commit is contained in:
solohsu 2019-02-17 15:23:35 +08:00
parent 11f4ca8d82
commit 8b0a9fc11e
3 changed files with 26 additions and 16 deletions

View File

@ -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);
} }

View File

@ -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);

View File

@ -122,7 +122,5 @@ void install_inline_hooks() {
} else { } else {
LOGE("disable_HiddenAPIPolicyImpl failed."); LOGE("disable_HiddenAPIPolicyImpl failed.");
} }
dlclose(whaleHandle);
dlclose(artHandle);
} }