Skip to content

Commit 8c93bf7

Browse files
committed
Class hook depends on Android version running on device
1 parent 4555350 commit 8c93bf7

File tree

1 file changed

+10
-8
lines changed

1 file changed

+10
-8
lines changed

app/src/main/java/com/thermatk/android/xf/fakegapps/FakeSignatures.java

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import android.content.pm.PackageInfo;
44
import android.content.pm.Signature;
5+
import android.os.Build;
56

67
import de.robv.android.xposed.IXposedHookLoadPackage;
78
import de.robv.android.xposed.XC_MethodHook;
@@ -31,14 +32,15 @@ protected void afterHookedMethod(MethodHookParam param) {
3132
}
3233
};
3334

34-
Class<?> PackageManagerServiceComputer = null;
35-
try {
36-
PackageManagerServiceComputer = XposedHelpers.findClass("com.android.server.pm.PackageManagerService.ComputerEngine", loadedPackage.classLoader);
37-
} catch (Exception ignored) {}
38-
if (PackageManagerServiceComputer != null) {
39-
XposedBridge.hookAllMethods(PackageManagerServiceComputer, "generatePackageInfo", hook);
35+
String classToHook;
36+
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
37+
classToHook = "com.android.server.pm.PackageManagerService.ComputerEngine";
38+
} else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
39+
classToHook = "com.android.server.pm.PackageManagerService";
40+
} else {
41+
classToHook = "android.app.ApplicationPackageManager";
4042
}
41-
final Class<?> PackageManagerService = XposedHelpers.findClass("com.android.server.pm.PackageManagerService", loadedPackage.classLoader);
42-
XposedBridge.hookAllMethods(PackageManagerService, "generatePackageInfo", hook);
43+
final Class<?> hookedClass = XposedHelpers.findClass(classToHook, loadedPackage.classLoader);
44+
XposedBridge.hookAllMethods(hookedClass, "generatePackageInfo", hook);
4345
}
4446
}

0 commit comments

Comments
 (0)