From 39e23ff0d9e34638a791eaf4660bbb6da9ffe205 Mon Sep 17 00:00:00 2001 From: Wang Han <1701210638@pku.edu.cn> Date: Tue, 24 Sep 2024 18:31:25 +0800 Subject: [PATCH] Don't modify CertCapabilities.AUTH capability (#118) --- app/src/main/java/toolkit/coderstory/CorePatchForQ.java | 2 +- app/src/main/java/toolkit/coderstory/CorePatchForT.java | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/toolkit/coderstory/CorePatchForQ.java b/app/src/main/java/toolkit/coderstory/CorePatchForQ.java index 0923c58..231204a 100644 --- a/app/src/main/java/toolkit/coderstory/CorePatchForQ.java +++ b/app/src/main/java/toolkit/coderstory/CorePatchForQ.java @@ -89,7 +89,7 @@ public void afterHookedMethod(MethodHookParam methodHookParam) throws Throwable @Override protected void beforeHookedMethod(MethodHookParam param) throws Throwable { if (prefs.getBoolean("digestCreak", true)) { - if ((Integer) param.args[1] != 4 && prefs.getBoolean("authcreak", false)) { + if ((Integer) param.args[1] != 4 && (Integer) param.args[1] != 16 && prefs.getBoolean("authcreak", false)) { param.setResult(Boolean.TRUE); } } diff --git a/app/src/main/java/toolkit/coderstory/CorePatchForT.java b/app/src/main/java/toolkit/coderstory/CorePatchForT.java index 6de15ec..5059359 100644 --- a/app/src/main/java/toolkit/coderstory/CorePatchForT.java +++ b/app/src/main/java/toolkit/coderstory/CorePatchForT.java @@ -28,11 +28,12 @@ public void handleLoadPackage(XC_LoadPackage.LoadPackageParam loadPackageParam) hookAllMethods(signingDetails, "checkCapability", new XC_MethodHook() { @Override protected void beforeHookedMethod(MethodHookParam param) { - // Don't handle PERMISSION (grant SIGNATURE permissions to pkgs with this cert) + // Don't handle PERMISSION & AUTH // Or applications will have all privileged permissions // https://cs.android.com/android/platform/superproject/+/master:frameworks/base/core/java/android/content/pm/PackageParser.java;l=5947?q=CertCapabilities + // https://cs.android.com/android/platform/superproject/main/+/main:frameworks/base/services/core/java/com/android/server/accounts/AccountManagerService.java;l=5867 if (prefs.getBoolean("digestCreak", true)) { - if ((Integer) param.args[1] != 4) { + if ((Integer) param.args[1] != 4 && (Integer) param.args[1] != 16) { param.setResult(true); } }