From 3d3136cd5477d448a15cba01432ce9f8c1b98b70 Mon Sep 17 00:00:00 2001 From: Wang Han <416810799@qq.com> Date: Sun, 24 Nov 2024 12:31:58 +0800 Subject: [PATCH] Remove enhanced mode --- app/build.gradle.kts | 2 +- .../toolkit/coderstory/CorePatchForQ.java | 17 +-------- .../toolkit/coderstory/CorePatchForR.java | 20 ++--------- .../java/toolkit/coderstory/MainHook.java | 36 +------------------ app/src/main/res/values-fr/strings.xml | 2 -- app/src/main/res/values-in/strings.xml | 4 +-- app/src/main/res/values-it/strings.xml | 2 -- app/src/main/res/values-ja/strings.xml | 2 -- app/src/main/res/values-ko/strings.xml | 2 -- app/src/main/res/values-pt-rBR/strings.xml | 2 -- app/src/main/res/values-ru/strings.xml | 2 -- app/src/main/res/values-zh-rCN/strings.xml | 2 -- app/src/main/res/values-zh-rTW/strings.xml | 2 -- app/src/main/res/values/strings.xml | 2 -- app/src/main/res/xml/prefs.xml | 5 --- build.gradle.kts | 2 +- gradle/wrapper/gradle-wrapper.properties | 2 +- 17 files changed, 8 insertions(+), 98 deletions(-) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 1301140..6daa2ff 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -76,7 +76,7 @@ val optimizeReleaseRes = task("optimizeReleaseRes").doLast { ) val zip = Paths.get( project.layout.buildDirectory.get().asFile.path, "intermediates", - "optimized_processed_res", "release", "resources-release-optimize.ap_" + "optimized_processed_res", "release", "optimizeReleaseResources", "resources-release-optimize.ap_" ) val optimized = File("${zip}.opt") val cmd = exec { diff --git a/app/src/main/java/toolkit/coderstory/CorePatchForQ.java b/app/src/main/java/toolkit/coderstory/CorePatchForQ.java index 6d07f44..7532c1a 100644 --- a/app/src/main/java/toolkit/coderstory/CorePatchForQ.java +++ b/app/src/main/java/toolkit/coderstory/CorePatchForQ.java @@ -12,14 +12,12 @@ import java.util.Arrays; import de.robv.android.xposed.IXposedHookLoadPackage; -import de.robv.android.xposed.IXposedHookZygoteInit; import de.robv.android.xposed.XC_MethodHook; -import de.robv.android.xposed.XC_MethodReplacement; import de.robv.android.xposed.XSharedPreferences; import de.robv.android.xposed.XposedHelpers; import de.robv.android.xposed.callbacks.XC_LoadPackage; -public class CorePatchForQ extends XposedHelper implements IXposedHookLoadPackage, IXposedHookZygoteInit { +public class CorePatchForQ extends XposedHelper implements IXposedHookLoadPackage { final XSharedPreferences prefs = new XSharedPreferences(BuildConfig.APPLICATION_ID, "conf"); @Override @@ -152,17 +150,4 @@ protected void afterHookedMethod(MethodHookParam param) throws Throwable { new ReturnConstant(prefs, "disableVerificationAgent", false) ); } - - @Override - public void initZygote(StartupParam startupParam) { - hookAllMethods("android.content.pm.PackageParser", null, "getApkSigningVersion", XC_MethodReplacement.returnConstant(1)); - hookAllConstructors("android.util.jar.StrictJarVerifier", new XC_MethodHook() { - @Override - protected void beforeHookedMethod(MethodHookParam param) throws Throwable { - if (prefs.getBoolean("enhancedMode", false)) { - param.args[3] = Boolean.FALSE; - } - } - }); - } } diff --git a/app/src/main/java/toolkit/coderstory/CorePatchForR.java b/app/src/main/java/toolkit/coderstory/CorePatchForR.java index 2666144..b9910ed 100644 --- a/app/src/main/java/toolkit/coderstory/CorePatchForR.java +++ b/app/src/main/java/toolkit/coderstory/CorePatchForR.java @@ -27,16 +27,14 @@ import java.util.zip.ZipEntry; import de.robv.android.xposed.IXposedHookLoadPackage; -import de.robv.android.xposed.IXposedHookZygoteInit; import de.robv.android.xposed.XC_MethodHook; -import de.robv.android.xposed.XC_MethodReplacement; import de.robv.android.xposed.XSharedPreferences; import de.robv.android.xposed.XposedBridge; import de.robv.android.xposed.XposedHelpers; import de.robv.android.xposed.callbacks.XC_LoadPackage; @TargetApi(Build.VERSION_CODES.R) -public class CorePatchForR extends XposedHelper implements IXposedHookLoadPackage, IXposedHookZygoteInit { +public class CorePatchForR extends XposedHelper implements IXposedHookLoadPackage { private final static Method deoptimizeMethod; static { @@ -68,7 +66,6 @@ public void handleLoadPackage(XC_LoadPackage.LoadPackageParam loadPackageParam) XposedBridge.log("D/" + MainHook.TAG + " authcreak=" + prefs.getBoolean("authcreak", false)); XposedBridge.log("D/" + MainHook.TAG + " digestCreak=" + prefs.getBoolean("digestCreak", true)); XposedBridge.log("D/" + MainHook.TAG + " UsePreSig=" + prefs.getBoolean("UsePreSig", false)); - XposedBridge.log("D/" + MainHook.TAG + " enhancedMode=" + prefs.getBoolean("enhancedMode", false)); XposedBridge.log("D/" + MainHook.TAG + " bypassBlock=" + prefs.getBoolean("bypassBlock", true)); XposedBridge.log("D/" + MainHook.TAG + " sharedUser=" + prefs.getBoolean("sharedUser", false)); XposedBridge.log("D/" + MainHook.TAG + " disableVerificationAgent=" + prefs.getBoolean("disableVerificationAgent", true)); @@ -143,6 +140,7 @@ public void afterHookedMethod(MethodHookParam param) throws Throwable { final Object block = constructor.newInstance(param.args[0]); Object[] infos = (Object[]) XposedHelpers.callMethod(block, "getSignerInfos"); Object info = infos[0]; + @SuppressWarnings("unchecked") List verifiedSignerCertChain = (List) XposedHelpers.callMethod(info, "getCertificateChain", block); param.setResult(verifiedSignerCertChain.toArray( new X509Certificate[0])); @@ -422,20 +420,6 @@ Class getSigningDetails(ClassLoader classLoader) { return XposedHelpers.findClass("android.content.pm.PackageParser.SigningDetails", classLoader); } - @Override - public void initZygote(StartupParam startupParam) { - - hookAllMethods("android.content.pm.PackageParser", null, "getApkSigningVersion", XC_MethodReplacement.returnConstant(1)); - hookAllConstructors("android.util.jar.StrictJarVerifier", new XC_MethodHook() { - @Override - protected void beforeHookedMethod(MethodHookParam param) throws Throwable { - if (prefs.getBoolean("enhancedMode", false)) { - param.args[3] = Boolean.FALSE; - } - } - }); - } - Object mPMS = null; void initializeDebugHook(XC_LoadPackage.LoadPackageParam lpparam) throws IllegalAccessException, InvocationTargetException { diff --git a/app/src/main/java/toolkit/coderstory/MainHook.java b/app/src/main/java/toolkit/coderstory/MainHook.java index d0ad8fb..c903e33 100644 --- a/app/src/main/java/toolkit/coderstory/MainHook.java +++ b/app/src/main/java/toolkit/coderstory/MainHook.java @@ -5,11 +5,10 @@ import com.coderstory.toolkit.BuildConfig; import de.robv.android.xposed.IXposedHookLoadPackage; -import de.robv.android.xposed.IXposedHookZygoteInit; import de.robv.android.xposed.XposedBridge; import de.robv.android.xposed.callbacks.XC_LoadPackage; -public class MainHook implements IXposedHookLoadPackage, IXposedHookZygoteInit { +public class MainHook implements IXposedHookLoadPackage { public static final String TAG = "CorePatch"; @Override @@ -44,37 +43,4 @@ public void handleLoadPackage(XC_LoadPackage.LoadPackageParam lpparam) throws Th } } } - - @Override - public void initZygote(StartupParam startupParam) { - if (startupParam.startsSystemServer) { - if (BuildConfig.DEBUG) - XposedBridge.log("D/" + TAG + " initZygote: Current sdk version " + Build.VERSION.SDK_INT); - switch (Build.VERSION.SDK_INT) { - case Build.VERSION_CODES.VANILLA_ICE_CREAM: // 35 - new CorePatchForV().initZygote(startupParam); - break; - case Build.VERSION_CODES.UPSIDE_DOWN_CAKE: // 34 - new CorePatchForU().initZygote(startupParam); - break; - case Build.VERSION_CODES.TIRAMISU: // 33 - new CorePatchForT().initZygote(startupParam); - break; - case Build.VERSION_CODES.S_V2: // 32 - case Build.VERSION_CODES.S: // 31 - new CorePatchForS().initZygote(startupParam); - break; - case Build.VERSION_CODES.R: // 30 - new CorePatchForR().initZygote(startupParam); - break; - case Build.VERSION_CODES.Q: // 29 - case Build.VERSION_CODES.P: // 28 - new CorePatchForQ().initZygote(startupParam); - break; - default: - XposedBridge.log("W/" + TAG + " Unsupported Version of Android " + Build.VERSION.SDK_INT); - break; - } - } - } } diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 17242eb..adc45ed 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -13,8 +13,6 @@ Réglages Ignorer Vous utilisez apparemment une ancienne version de LSPosed ou LSPosed n\’est pas activé, Merci de mettre LSPosed à jour ou de retenter après activation. - Mode Amélioré - Outrepasser certaines validations dans l\’application UsePreSig ne fonctionne pas sur MiUI car son sous-système est beaucoup trop différent.\nNous n\’avons pas le temps de nous pencher sur ce cas. !! N\’importe quel apk peut remplacer celui déjà installé !!\nPrenez garde lors ce que vous installez des apk inconnus diff --git a/app/src/main/res/values-in/strings.xml b/app/src/main/res/values-in/strings.xml index 11fe494..4c92b3a 100644 --- a/app/src/main/res/values-in/strings.xml +++ b/app/src/main/res/values-in/strings.xml @@ -14,9 +14,7 @@ Abaikan Inisialisasi konfigurasi gagal Sepertinya Anda menggunakan versi LSPosed yang jadul atau LSPosed tidak diaktifkan, harap perbarui LSPosed atau coba lagi setelah diaktifkan. - Mode Peningkatan - Loloskan beberapa validasi dalam aplikasi - Terobos blokiran + Terobos blokiran Terobos daftar blokir dalam beberapa perangkat seperti Nothing Phone Gunakan signatures terpasang tidak bekerja di MiUI karena framework banyak dimodifikasi.\nKami tidak punya waktu untuk menyelidikinya. !! Segala apk dapat menggantikan aplikasi yang terpasang !!\nBerhati-hati ketika memasang apk antah-berantah diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index 794817e..0194187 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -14,8 +14,6 @@ Ignora Inizializzazione della configurazione non riuscita Sembra che tu stia utilizzando una versione obsoleta di LSPosed oppure LSPosed non è attivato. Aggiorna LSPosed o riprova dopo l\'attivazione. - Modalità Potenziata - Supera alcune convalide nell\'applicazione Bypassa blocchi Bypassa la lista di blocco di alcuni dispositivi come Nothing Phone UsePreSig non funzionerà su MiUI perché il suo framework è troppo diverso. Non abbiamo tempo per seguire il caso. diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index e384c82..f1518e6 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -15,8 +15,6 @@ 無視 構成の初期化に失敗しました 古いバージョンの LSPosed を使用しているか、LSPosed が有効化されていないようです。LSPosed を更新、有効化をした後に再試行をしてください。 - 拡張モード - 一部のアプリの検証をパスします。 ブロックをバイパスする Nothing Phone などの一部のデバイスのブロックリストをバイパスします。 インストールされている署名の使用は、フレームワークが大幅に変更されるため MIUI では動作しません。\nこの問題を解析をする時間がありません。 diff --git a/app/src/main/res/values-ko/strings.xml b/app/src/main/res/values-ko/strings.xml index fd0dd30..4a5bf64 100644 --- a/app/src/main/res/values-ko/strings.xml +++ b/app/src/main/res/values-ko/strings.xml @@ -13,6 +13,4 @@ 설정 무시 LSPosed의 오래된 버전을 사용 중이거나 LSPosed가 활성화되지 않은 것 같습니다. LSPosed를 업데이트하거나 활성화한 후 다시 시도하십시오. - 강화 모드 - 애플리케이션에서 일부 유효성 검사를 통과합니다. diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index 3793f90..f55cec6 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -14,8 +14,6 @@ Ignorar Falha na inicialização da configuração Parece que você está usando uma versão desatualizada do LSPosed ou o LSPosed não está ativado. Atualize o LSPosed ou tente novamente após a ativação. - Modo aprimorado - Realize alguma validação no app Ignorar bloqueio Ignore a lista de bloqueio em alguns dispositivos como Nothing Phone Usar assinaturas instaladas não funcionará na MIUI porque sua estrutura muda muito.\nNão temos tempo para acompanhar o caso. diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index 34599c3..ab98a56 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -13,8 +13,6 @@ Разрешить переустановку приложения с другими подписями. Разрешить понижать версию. Разрешить переустановку приложений на прошлые версии. - Расширенный режим - Пройдите некоторую проверку в приложении Игнорировать Android 9-15 core patch Похоже, вы используете устаревшую версию LSPposed или LSPposed не активирован, пожалуйста, обновите LSPposed или повторите попытку после активации. diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index 5cf6ab1..b3b9c5c 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -13,8 +13,6 @@ 设置 忽略 模块未激活或正使用旧版 LSPosed,请激活模块或更新 LSPosed 后再试。 - 增强模式 - 可以解决一些 APP 内部的完整性校验,一般不需要开启 由于 MIUI 大幅度魔改了安卓框架,UsePreSig 无法正常工作\n我们没有时间溯源 !!所有安装包可以覆盖已安装的 APP!!\n安装未知的安装包时请务必小心 绕过黑名单 diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index 355603b..5449c73 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -14,8 +14,6 @@ 設定 忽略 未啟用模組或正在使用舊版的 LSPosed,請啟用模組或是更新 LSPosed 模組後再試一次。 - 增強模式 - 可以解決一些應用程式內部的完整性校驗,一般不需要開啟 由於 MIUI 大幅度修改了 Android 框架,UsePreSig 無法正常運作\n我們沒有時間分析 !!所有安裝檔可以覆蓋已安裝的應用程式!!\n安裝未知的安裝檔時請務必小心 繞過黑名單 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index d47aa98..dad7eb8 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -14,8 +14,6 @@ Ignore Configuration initialization failed It seems that you are using an out dated version of LSPosed or LSPosed is not activated, please update LSPosed or try again after activated. - Enhanced Mode - Pass some validation in the application Bypass block Bypass blocklist in some devices like Nothing Phone UsePreSig won\'t work on MiUI because its framework changes too much.\nWe don\'t have time to track the case. diff --git a/app/src/main/res/xml/prefs.xml b/app/src/main/res/xml/prefs.xml index 7c884e6..1e2cf7e 100644 --- a/app/src/main/res/xml/prefs.xml +++ b/app/src/main/res/xml/prefs.xml @@ -24,11 +24,6 @@ android:summary="@string/UsePreSig_summary" android:defaultValue="false" /> -