From 59970a84a8dcb02863505af75d7b25e2b2e0b831 Mon Sep 17 00:00:00 2001 From: Mars <3361409208a@gmail.com> Date: Fri, 3 Jul 2026 17:15:16 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20MariBank=20=E9=A3=8E=E6=8E=A7=20bypass?= =?UTF-8?q?=E3=80=81=E6=BE=B3=E6=B4=B2=E9=93=B6=E8=A1=8C=20Hook=20?= =?UTF-8?q?=E4=B8=8E=20reverse=20=E9=80=86=E5=90=91=E5=B7=A5=E4=BD=9C?= =?UTF-8?q?=E5=8C=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 新增 MariBank/SeaBank PH Root 与 SHPSSDK bypass、riskToken 净化及 Up/Suncorp/ubank 消息 Hook;整理 reverse/ 脚本与 Frida 工具链,并补充当日工作说明文档。 --- .gitignore | 11 + .idea/deploymentTargetSelector.xml | 4 +- app/src/main/AndroidManifest.xml | 4 + .../Activity/KeepAliveSettingsActivity.java | 172 ++ .../Activity/NotificationActivity.java | 4 +- .../smsmessage/Activity/SettingActivity.java | 4 + .../miraclegarden/smsmessage/AppConfig.java | 15 + .../smsmessage/KeepAliveSettings.java | 115 ++ .../smsmessage/service/BootReceiver.java | 4 +- .../service/MonitoredAppActivator.java | 336 ++++ .../service/MonitoredAppKeepAliveLoop.java | 78 + .../MonitoredAppKeepAliveScheduler.java | 49 + .../service/MonitoredAppKeepAliveWorker.java | 34 + .../service/NotificationExtractor.java | 82 +- .../service/NotificationService.java | 39 +- .../layout/activity_keep_alive_settings.xml | 203 ++ app/src/main/res/layout/activity_setting.xml | 28 + app/src/main/res/values/strings.xml | 13 + docs/BANK_REVERSE.md | 134 ++ docs/WORKLOG_2026-07-03.md | 248 +++ reverse/README.md | 19 + reverse/frida/gen_jni_targets.py | 75 + reverse/frida/jni_targets.md | 44 + reverse/frida/pull_split_apk.ps1 | 30 + reverse/frida/requirements.txt | 3 + reverse/frida/run-frida-trace.ps1 | 66 + reverse/frida/run_frida_trace.py | 132 ++ reverse/frida/run_spawn_trace.py | 55 + reverse/frida/run_trace.py | 52 + reverse/frida/test_attach.py | 28 + reverse/frida/test_java_wait.py | 45 + reverse/frida/trace_maribank_register.js | 182 ++ reverse/scripts/_paths.py | 13 + reverse/scripts/analyze_shps_so.py | 20 + reverse/scripts/context_wbroot.py | 5 + reverse/scripts/decode_shps_strings.py | 45 + reverse/scripts/dump_crypto_jni.py | 100 + reverse/scripts/dump_error_handler.py | 31 + reverse/scripts/dump_error_iface.py | 20 + reverse/scripts/dump_global_auth.py | 23 + reverse/scripts/dump_key_methods.py | 52 + reverse/scripts/dump_native_bridge.py | 62 + reverse/scripts/dump_phone_register_vm.py | 38 + reverse/scripts/dump_register_request.py | 35 + reverse/scripts/dump_register_vm.py | 35 + reverse/scripts/dump_risk_register_chain.py | 66 + reverse/scripts/dump_safemode_b.py | 54 + reverse/scripts/dump_shps_bank.py | 20 + reverse/scripts/dump_shps_bank_full.py | 21 + reverse/scripts/dump_shps_install.py | 32 + reverse/scripts/dump_shps_methods.py | 20 + reverse/scripts/dump_shps_native_methods.py | 19 + reverse/scripts/extract_all_so.py | 22 + reverse/scripts/extract_from_split.py | 13 + reverse/scripts/extract_native.py | 14 + reverse/scripts/extract_shps_so.py | 14 + reverse/scripts/extract_split_so.py | 13 + reverse/scripts/find_blocked_msg.py | 20 + reverse/scripts/find_crypto_classes.py | 18 + reverse/scripts/find_detection_classes.py | 22 + reverse/scripts/find_global_auth_dex.py | 10 + reverse/scripts/find_iv_monitor.py | 16 + reverse/scripts/find_load_so_lib.py | 30 + reverse/scripts/find_native_encrypt.py | 19 + reverse/scripts/find_native_encrypt_class.py | 37 + reverse/scripts/find_native_methods.py | 21 + reverse/scripts/find_shps_sig.py | 26 + reverse/scripts/find_wb_classes.py | 17 + reverse/scripts/find_wb_root.py | 22 + reverse/scripts/list_methods_classes6.py | 16 + reverse/scripts/list_safemode.py | 17 + reverse/scripts/list_sdkutils_jni.py | 9 + reverse/scripts/read_alc.py | 10 + reverse/scripts/scan_1201.py | 11 + reverse/scripts/scan_4067_ctx.py | 20 + reverse/scripts/scan_common_dialog.py | 24 + reverse/scripts/scan_crypto_flow.py | 40 + reverse/scripts/scan_crypto_register.py | 57 + reverse/scripts/scan_detail.py | 24 + reverse/scripts/scan_dex.py | 91 + reverse/scripts/scan_error_classes.py | 11 + reverse/scripts/scan_error_handler.py | 28 + reverse/scripts/scan_error_strings.py | 13 + reverse/scripts/scan_json_lib.py | 17 + reverse/scripts/scan_method_hints.py | 20 + reverse/scripts/scan_needle_context.py | 28 + reverse/scripts/scan_register_api.py | 28 + reverse/scripts/scan_register_class.py | 24 + reverse/scripts/scan_register_endpoint.py | 15 + reverse/scripts/scan_register_paths.py | 29 + reverse/scripts/scan_risk_fields.py | 24 + reverse/scripts/scan_risk_token_ctx.py | 19 + reverse/scripts/scan_root.py | 42 + reverse/scripts/scan_root_dialog.py | 19 + reverse/scripts/scan_root_string_ctx.py | 20 + reverse/scripts/scan_security_classes.py | 44 + reverse/scripts/scan_shps_classes.py | 19 + reverse/scripts/scan_shps_methods.py | 31 + reverse/scripts/scan_shps_native.py | 41 + reverse/scripts/scan_shps_token.py | 23 + reverse/scripts/scan_so_jni.py | 19 + reverse/scripts/scan_target.py | 36 + reverse/scripts/strings_shps_so.py | 19 + scripts/configure-lsposed.py | 3 + scripts/install-frida.ps1 | 144 ++ scripts/logcat-maribank.ps1 | 29 + scripts/organize-reverse.ps1 | 59 + scripts/start-mari-trace.ps1 | 26 + .../smsmessage/xposed/HookBridge.java | 6 + .../smsmessage/xposed/MainHook.java | 30 + .../xposed/hook/BankHookHelper.java | 201 ++ .../xposed/hook/BankNotificationHook.java | 76 + .../xposed/hook/MariBankRiskTokenUtil.java | 100 + .../xposed/hook/MariBankRootBypassHook.java | 1738 +++++++++++++++++ .../xposed/hook/MariBankShpsNativeHook.java | 661 +++++++ .../xposed/hook/RootBypassHelper.java | 181 ++ .../xposed/hook/SuncorpBankMessageHook.java | 25 + .../xposed/hook/TelegramMessageHook.java | 66 +- .../xposed/hook/UbankMessageHook.java | 29 + .../xposed/hook/UpBankMessageHook.java | 24 + xposed-module/src/main/res/values/arrays.xml | 4 + 121 files changed, 7606 insertions(+), 37 deletions(-) create mode 100644 app/src/main/java/com/miraclegarden/smsmessage/Activity/KeepAliveSettingsActivity.java create mode 100644 app/src/main/java/com/miraclegarden/smsmessage/KeepAliveSettings.java create mode 100644 app/src/main/java/com/miraclegarden/smsmessage/service/MonitoredAppActivator.java create mode 100644 app/src/main/java/com/miraclegarden/smsmessage/service/MonitoredAppKeepAliveLoop.java create mode 100644 app/src/main/java/com/miraclegarden/smsmessage/service/MonitoredAppKeepAliveScheduler.java create mode 100644 app/src/main/java/com/miraclegarden/smsmessage/service/MonitoredAppKeepAliveWorker.java create mode 100644 app/src/main/res/layout/activity_keep_alive_settings.xml create mode 100644 docs/BANK_REVERSE.md create mode 100644 docs/WORKLOG_2026-07-03.md create mode 100644 reverse/README.md create mode 100644 reverse/frida/gen_jni_targets.py create mode 100644 reverse/frida/jni_targets.md create mode 100644 reverse/frida/pull_split_apk.ps1 create mode 100644 reverse/frida/requirements.txt create mode 100644 reverse/frida/run-frida-trace.ps1 create mode 100644 reverse/frida/run_frida_trace.py create mode 100644 reverse/frida/run_spawn_trace.py create mode 100644 reverse/frida/run_trace.py create mode 100644 reverse/frida/test_attach.py create mode 100644 reverse/frida/test_java_wait.py create mode 100644 reverse/frida/trace_maribank_register.js create mode 100644 reverse/scripts/_paths.py create mode 100644 reverse/scripts/analyze_shps_so.py create mode 100644 reverse/scripts/context_wbroot.py create mode 100644 reverse/scripts/decode_shps_strings.py create mode 100644 reverse/scripts/dump_crypto_jni.py create mode 100644 reverse/scripts/dump_error_handler.py create mode 100644 reverse/scripts/dump_error_iface.py create mode 100644 reverse/scripts/dump_global_auth.py create mode 100644 reverse/scripts/dump_key_methods.py create mode 100644 reverse/scripts/dump_native_bridge.py create mode 100644 reverse/scripts/dump_phone_register_vm.py create mode 100644 reverse/scripts/dump_register_request.py create mode 100644 reverse/scripts/dump_register_vm.py create mode 100644 reverse/scripts/dump_risk_register_chain.py create mode 100644 reverse/scripts/dump_safemode_b.py create mode 100644 reverse/scripts/dump_shps_bank.py create mode 100644 reverse/scripts/dump_shps_bank_full.py create mode 100644 reverse/scripts/dump_shps_install.py create mode 100644 reverse/scripts/dump_shps_methods.py create mode 100644 reverse/scripts/dump_shps_native_methods.py create mode 100644 reverse/scripts/extract_all_so.py create mode 100644 reverse/scripts/extract_from_split.py create mode 100644 reverse/scripts/extract_native.py create mode 100644 reverse/scripts/extract_shps_so.py create mode 100644 reverse/scripts/extract_split_so.py create mode 100644 reverse/scripts/find_blocked_msg.py create mode 100644 reverse/scripts/find_crypto_classes.py create mode 100644 reverse/scripts/find_detection_classes.py create mode 100644 reverse/scripts/find_global_auth_dex.py create mode 100644 reverse/scripts/find_iv_monitor.py create mode 100644 reverse/scripts/find_load_so_lib.py create mode 100644 reverse/scripts/find_native_encrypt.py create mode 100644 reverse/scripts/find_native_encrypt_class.py create mode 100644 reverse/scripts/find_native_methods.py create mode 100644 reverse/scripts/find_shps_sig.py create mode 100644 reverse/scripts/find_wb_classes.py create mode 100644 reverse/scripts/find_wb_root.py create mode 100644 reverse/scripts/list_methods_classes6.py create mode 100644 reverse/scripts/list_safemode.py create mode 100644 reverse/scripts/list_sdkutils_jni.py create mode 100644 reverse/scripts/read_alc.py create mode 100644 reverse/scripts/scan_1201.py create mode 100644 reverse/scripts/scan_4067_ctx.py create mode 100644 reverse/scripts/scan_common_dialog.py create mode 100644 reverse/scripts/scan_crypto_flow.py create mode 100644 reverse/scripts/scan_crypto_register.py create mode 100644 reverse/scripts/scan_detail.py create mode 100644 reverse/scripts/scan_dex.py create mode 100644 reverse/scripts/scan_error_classes.py create mode 100644 reverse/scripts/scan_error_handler.py create mode 100644 reverse/scripts/scan_error_strings.py create mode 100644 reverse/scripts/scan_json_lib.py create mode 100644 reverse/scripts/scan_method_hints.py create mode 100644 reverse/scripts/scan_needle_context.py create mode 100644 reverse/scripts/scan_register_api.py create mode 100644 reverse/scripts/scan_register_class.py create mode 100644 reverse/scripts/scan_register_endpoint.py create mode 100644 reverse/scripts/scan_register_paths.py create mode 100644 reverse/scripts/scan_risk_fields.py create mode 100644 reverse/scripts/scan_risk_token_ctx.py create mode 100644 reverse/scripts/scan_root.py create mode 100644 reverse/scripts/scan_root_dialog.py create mode 100644 reverse/scripts/scan_root_string_ctx.py create mode 100644 reverse/scripts/scan_security_classes.py create mode 100644 reverse/scripts/scan_shps_classes.py create mode 100644 reverse/scripts/scan_shps_methods.py create mode 100644 reverse/scripts/scan_shps_native.py create mode 100644 reverse/scripts/scan_shps_token.py create mode 100644 reverse/scripts/scan_so_jni.py create mode 100644 reverse/scripts/scan_target.py create mode 100644 reverse/scripts/strings_shps_so.py create mode 100644 scripts/install-frida.ps1 create mode 100644 scripts/logcat-maribank.ps1 create mode 100644 scripts/organize-reverse.ps1 create mode 100644 scripts/start-mari-trace.ps1 create mode 100644 xposed-module/src/main/java/com/miraclegarden/smsmessage/xposed/hook/BankHookHelper.java create mode 100644 xposed-module/src/main/java/com/miraclegarden/smsmessage/xposed/hook/BankNotificationHook.java create mode 100644 xposed-module/src/main/java/com/miraclegarden/smsmessage/xposed/hook/MariBankRiskTokenUtil.java create mode 100644 xposed-module/src/main/java/com/miraclegarden/smsmessage/xposed/hook/MariBankRootBypassHook.java create mode 100644 xposed-module/src/main/java/com/miraclegarden/smsmessage/xposed/hook/MariBankShpsNativeHook.java create mode 100644 xposed-module/src/main/java/com/miraclegarden/smsmessage/xposed/hook/RootBypassHelper.java create mode 100644 xposed-module/src/main/java/com/miraclegarden/smsmessage/xposed/hook/SuncorpBankMessageHook.java create mode 100644 xposed-module/src/main/java/com/miraclegarden/smsmessage/xposed/hook/UbankMessageHook.java create mode 100644 xposed-module/src/main/java/com/miraclegarden/smsmessage/xposed/hook/UpBankMessageHook.java diff --git a/.gitignore b/.gitignore index 084bdee..defad6b 100644 --- a/.gitignore +++ b/.gitignore @@ -16,3 +16,14 @@ local.properties gradle-local.properties platform-tools/ xposed-module/build/ +reverse/apks/ +reverse/extracted/ +reverse/output/ +reverse/logs/ +reverse/tmp/ +reverse/frida/bin/ +reverse/frida/*.log +reverse/frida/*.log.err +reverse/frida/logcat_capture.txt +reverse/frida/*.out +reverse/frida/*.err diff --git a/.idea/deploymentTargetSelector.xml b/.idea/deploymentTargetSelector.xml index 7b05f18..a72224d 100644 --- a/.idea/deploymentTargetSelector.xml +++ b/.idea/deploymentTargetSelector.xml @@ -4,10 +4,10 @@