Skip to content

Commit 98a206f

Browse files
committed
feat: Disable auto check app
1 parent f61be5b commit 98a206f

6 files changed

Lines changed: 50 additions & 0 deletions

File tree

library/core/src/main/res/values-zh-rCN/strings_app.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1481,6 +1481,7 @@
14811481
<string name="security_center_bubble_and_freeform_title">小窗和气泡通知</string>
14821482
<string name="security_center_newbox_title">全局侧边栏</string>
14831483
<string name="security_center_disable_root_check_environment">禁用环境检查</string>
1484+
<string name="security_center_disable_safepay_auto_check">禁用对应用的自动检查</string>
14841485
<string name="security_center_dolby_open">关闭杜比弹窗</string>
14851486
<string name="security_center_show_battery_temperature">显示电池温度</string>
14861487
<string name="security_center_show_battery_health">显示具体电池健康度</string>

library/core/src/main/res/values/strings_app.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1403,6 +1403,7 @@
14031403
<string name="security_center_bubble_and_freeform_title">Bubble and freeform</string>
14041404
<string name="security_center_newbox_title">Sidebar</string>
14051405
<string name="security_center_disable_root_check_environment">Disable environment check</string>
1406+
<string name="security_center_disable_safepay_auto_check">Disable auto check app</string>
14061407
<string name="security_center_dolby_open">Close the Dolby pop-up window</string>
14071408
<string name="security_center_show_battery_temperature">Show battery temperature</string>
14081409
<string name="security_center_show_battery_health">Show detailed battery health</string>

library/core/src/main/res/xml/security_center_other.xml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,11 @@
6464
android:key="prefs_key_security_center_disable_root_check_environment"
6565
android:title="@string/security_center_disable_root_check_environment" />
6666

67+
<SwitchPreference
68+
android:defaultValue="false"
69+
android:key="prefs_key_security_center_disable_safepay_auto_check"
70+
android:title="@string/security_center_disable_safepay_auto_check" />
71+
6772
<SwitchPreference
6873
android:defaultValue="false"
6974
android:key="prefs_key_security_center_simplify_home"

library/hook/src/main/java/com/sevtinge/hyperceiler/hook/module/app/SecurityCenter/SecurityCenterPad.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
import com.sevtinge.hyperceiler.hook.module.rules.securitycenter.DisableNetworkAssistantOfflineInfoManager;
2727
import com.sevtinge.hyperceiler.hook.module.rules.securitycenter.DisableReport;
2828
import com.sevtinge.hyperceiler.hook.module.rules.securitycenter.DisableRootedCheck;
29+
import com.sevtinge.hyperceiler.hook.module.rules.securitycenter.DisableSafepayAutoScan;
2930
import com.sevtinge.hyperceiler.hook.module.rules.securitycenter.GetBubbleAppString;
3031
import com.sevtinge.hyperceiler.hook.module.rules.securitycenter.HideXOptModeTip;
3132
import com.sevtinge.hyperceiler.hook.module.rules.securitycenter.InstallIntercept;
@@ -114,6 +115,7 @@ public void handleLoadPackage() {
114115

115116
// 其他
116117
initHook(new DisableRootedCheck(), mPrefsMap.getBoolean("security_center_disable_root_check_environment"));
118+
initHook(new DisableSafepayAutoScan(), mPrefsMap.getBoolean("security_center_disable_safepay_auto_check"));
117119
initHook(SimplifyMainFragment.INSTANCE, mPrefsMap.getBoolean("security_center_simplify_home"));
118120
initHook(new InstallIntercept(), mPrefsMap.getBoolean("security_center_install_intercept"));
119121
initHook(LockOneHundredPoints.INSTANCE, mPrefsMap.getBoolean("security_center_score"));

library/hook/src/main/java/com/sevtinge/hyperceiler/hook/module/app/SecurityCenter/SecurityCenterPhone.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
import com.sevtinge.hyperceiler.hook.module.rules.securitycenter.DisableNetworkAssistantOfflineInfoManager;
2727
import com.sevtinge.hyperceiler.hook.module.rules.securitycenter.DisableReport;
2828
import com.sevtinge.hyperceiler.hook.module.rules.securitycenter.DisableRootedCheck;
29+
import com.sevtinge.hyperceiler.hook.module.rules.securitycenter.DisableSafepayAutoScan;
2930
import com.sevtinge.hyperceiler.hook.module.rules.securitycenter.GetBubbleAppString;
3031
import com.sevtinge.hyperceiler.hook.module.rules.securitycenter.HideXOptModeTip;
3132
import com.sevtinge.hyperceiler.hook.module.rules.securitycenter.InstallIntercept;
@@ -114,6 +115,7 @@ public void handleLoadPackage() {
114115

115116
// 其他
116117
initHook(new DisableRootedCheck(), mPrefsMap.getBoolean("security_center_disable_root_check_environment"));
118+
initHook(new DisableSafepayAutoScan(), mPrefsMap.getBoolean("security_center_disable_safepay_auto_check"));
117119
initHook(SimplifyMainFragment.INSTANCE, mPrefsMap.getBoolean("security_center_simplify_home"));
118120
initHook(new InstallIntercept(), mPrefsMap.getBoolean("security_center_install_intercept"));
119121
initHook(LockOneHundredPoints.INSTANCE, mPrefsMap.getBoolean("security_center_score"));
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
package com.sevtinge.hyperceiler.hook.module.rules.securitycenter;
2+
3+
import com.sevtinge.hyperceiler.hook.module.base.BaseHook;
4+
import com.sevtinge.hyperceiler.hook.module.base.dexkit.DexKit;
5+
import com.sevtinge.hyperceiler.hook.module.base.dexkit.IDexKit;
6+
7+
import org.luckypray.dexkit.DexKitBridge;
8+
import org.luckypray.dexkit.query.FindMethod;
9+
import org.luckypray.dexkit.query.matchers.MethodMatcher;
10+
import org.luckypray.dexkit.result.MethodData;
11+
import org.luckypray.dexkit.result.base.BaseData;
12+
13+
import java.lang.reflect.Method;
14+
15+
import de.robv.android.xposed.XC_MethodHook;
16+
17+
public class DisableSafepayAutoScan extends BaseHook {
18+
@Override
19+
public void init() throws NoSuchMethodException {
20+
Method method = DexKit.findMember("GetKeySafepayAutoScanState", new IDexKit() {
21+
@Override
22+
public BaseData dexkit(DexKitBridge bridge) throws ReflectiveOperationException {
23+
MethodData methodData = bridge.findMethod(FindMethod.create()
24+
.matcher(MethodMatcher.create()
25+
.usingStrings("key_safepay_auto_scan_state")
26+
.paramCount(0)
27+
)).singleOrNull();
28+
methodData.toDexMethod().serialize();
29+
return methodData;
30+
}
31+
});
32+
hookMethod(method, new MethodHook() {
33+
@Override
34+
protected void before(XC_MethodHook.MethodHookParam param) throws Throwable {
35+
param.setResult(false);
36+
}
37+
});
38+
}
39+
}

0 commit comments

Comments
 (0)