[core] Skip non-manager packages (#1273)
Co-authored-by: LoveSy <shana@zju.edu.cn> Co-authored-by: Wang Han <wanghan1995315@gmail.com>
This commit is contained in:
parent
5800eda575
commit
258ddaabe8
|
|
@ -2,8 +2,11 @@ package org.lsposed.lspd.service;
|
||||||
|
|
||||||
import android.annotation.SuppressLint;
|
import android.annotation.SuppressLint;
|
||||||
import android.os.ParcelFileDescriptor;
|
import android.os.ParcelFileDescriptor;
|
||||||
|
import android.os.SystemProperties;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
|
||||||
|
import org.lsposed.lspd.BuildConfig;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
|
||||||
|
|
@ -29,6 +32,10 @@ public class LogcatService implements Runnable {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
Log.i(TAG, "start running");
|
Log.i(TAG, "start running");
|
||||||
|
// Meizu devices set this prop and prevent debug logs from being recorded
|
||||||
|
if (BuildConfig.DEBUG && SystemProperties.getInt("persist.sys.log_reject_level", 0) > 0) {
|
||||||
|
SystemProperties.set("persist.sys.log_reject_level", "0");
|
||||||
|
}
|
||||||
runLogcat();
|
runLogcat();
|
||||||
Log.i(TAG, "stopped");
|
Log.i(TAG, "stopped");
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -158,13 +158,14 @@ public class ParasiticManagerHooker {
|
||||||
} else if (arg instanceof ProviderInfo) info = (ProviderInfo) arg;
|
} else if (arg instanceof ProviderInfo) info = (ProviderInfo) arg;
|
||||||
}
|
}
|
||||||
if (ctx != null && info != null) {
|
if (ctx != null && info != null) {
|
||||||
|
var packageName = getManagerPkgInfo(null).applicationInfo.packageName;
|
||||||
|
if (!info.applicationInfo.packageName.equals(packageName)) return;
|
||||||
if (originalContext == null) {
|
if (originalContext == null) {
|
||||||
var isDefaultManager = info.applicationInfo.packageName.equals(BuildConfig.DEFAULT_MANAGER_PACKAGE_NAME);
|
info.applicationInfo.packageName = packageName + ".origin";
|
||||||
info.applicationInfo.packageName = isDefaultManager ? BuildConfig.DEFAULT_MANAGER_PACKAGE_NAME + ".origin" : BuildConfig.MANAGER_INJECTED_PKG_NAME + ".origin";
|
|
||||||
var originalPkgInfo = ActivityThread.currentActivityThread().getPackageInfoNoCheck(info.applicationInfo, HiddenApiBridge.Resources_getCompatibilityInfo(ctx.getResources()));
|
var originalPkgInfo = ActivityThread.currentActivityThread().getPackageInfoNoCheck(info.applicationInfo, HiddenApiBridge.Resources_getCompatibilityInfo(ctx.getResources()));
|
||||||
XposedHelpers.setObjectField(originalPkgInfo, "mPackageName", isDefaultManager ? BuildConfig.DEFAULT_MANAGER_PACKAGE_NAME : BuildConfig.MANAGER_INJECTED_PKG_NAME);
|
XposedHelpers.setObjectField(originalPkgInfo, "mPackageName", packageName);
|
||||||
originalContext = (Context) XposedHelpers.callStaticMethod(XposedHelpers.findClass("android.app.ContextImpl", null), "createAppContext", ActivityThread.currentActivityThread(), originalPkgInfo);
|
originalContext = (Context) XposedHelpers.callStaticMethod(XposedHelpers.findClass("android.app.ContextImpl", null), "createAppContext", ActivityThread.currentActivityThread(), originalPkgInfo);
|
||||||
info.applicationInfo.packageName = isDefaultManager ? BuildConfig.DEFAULT_MANAGER_PACKAGE_NAME : BuildConfig.MANAGER_INJECTED_PKG_NAME;
|
info.applicationInfo.packageName = packageName;
|
||||||
}
|
}
|
||||||
param.args[ctxIdx] = originalContext;
|
param.args[ctxIdx] = originalContext;
|
||||||
} else {
|
} else {
|
||||||
|
|
|
||||||
|
|
@ -19,4 +19,8 @@ public class SystemProperties {
|
||||||
public static boolean getBoolean(@NonNull String key, boolean def) {
|
public static boolean getBoolean(@NonNull String key, boolean def) {
|
||||||
throw new UnsupportedOperationException("Stub");
|
throw new UnsupportedOperationException("Stub");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static int getInt(@NonNull String key, int def) {
|
||||||
|
throw new UnsupportedOperationException("Stub");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue