Files
notiMessage/docs/MariBank_2026-07-06_菲律宾突破.md
mars 81119e0ff9 feat(maribank): PH 注册 OTP 突破、SG bypass 与中文文档
菲律宾 SeaBank 在 Root+LSPosed+Shamiko 下 register 已通过并触发 OTP;扩展 SG 包名、加密前 Hook、Magisk 设备伪装脚本,并将 docs 整理为中文操作与风控说明。
2026-07-06 14:01:49 +08:00

9.4 KiB
Raw Blame History

MariBank 菲律宾注册突破 & 新加坡现状2026-07-06

设备Pixel 61C081FDF600K5Q)· Magisk 30.7 + Zygisk + LSPosed
结论菲律宾 SeaBank 已能发 OTP新加坡 MariBank 仍 3100012
关联MariBank实现说明.md · MariBank新加坡逆向.md


1. 结果一览

地区 包名 API 注册结果 错误码
菲律宾 ph.seabank.seabank https://api.seabank.ph 成功 → OTP 短信 code=0
新加坡 sg.com.maribankmobile.digitalbank https://api.maribank.com.sg 仍失败 3100012

关键意义:同一台 Root 机、同一套 Xposed + Magisk 伪装下,PH 服务端已放行注册,说明 Hook 链与 attestation 载荷 对 PH 有效SG 失败更可能是 区域风控策略差异SG 侧设备黑名单而非「Root bypass 完全无效」。


2. 测试环境

手机 Google Pixel 6oriole
Root Magisk 30.7MAGISK:R
Magisk 模块 maribank_device_spoofzygisk_shamikoplayintegrityfixzygisk_vector
DenyList MariBank PH/SG 均已加入;Enforce DenyList = OFFShamiko 要求)
LSPosed 模块 com.miraclegarden.smsmessage.xposed
LSPosed 作用域 ph.seabank.seabanksg.com.maribankmobile.digitalbank
伪装 serial Y1Rr2fxhOI0ZCQSbresetprop + Magisk 模块)
伪装 android_id 87ec910ab5d6f423
对照干净机 25078RA3EY:关 USB 调试可进 SG OTP无 LSPosed

3. 菲律宾突破 — log 证据2026-07-06 13:40

3.1 第一次 registerstep=BE

POST https://api.seabank.ph/uapi/v2/register

加密前明文(MariBankEncrypt in0 byte[1180])核心字段:

{
  "cyCode": "63",
  "phone": "<RSA 加密>",
  "rdVerifyInfo": {
    "bioStatus": 0,
    "data": "tPNHr/0eZzaPXs9oimvMNVWI/...",
    "dataKey": "H/A6AqA8NhXZoaL0alG5VGRovcfuJykY92U...",
    "deviceFingerprint": "jrKyNF/Fx4gcnzVpf1u9bw==|WJMksio9SaKKuyk1KMSilUGivdF+SHbqjB+aL65fucQcOCdojhBN3GKoY58sxVomiCfi5w==|TXeh8FyEf/8qHdAS|00|0",
    "afExtInfo": { "modeInCall": "N", "modeInCommunication": "N", "modeCallScreening": "N" }
  },
  "scene": "REGISTRATION",
  "step": "BE",
  "source": "app"
}

服务端响应:

{"code":0,"msg":"success","data":{"scene":"REGISTRATION","step":"BSO","tranId":"7f21098a-2113-40fb-bb6a-e2e651460f53",...}}

3.2 第二次 registerOTP 触发step=BSO

{
  "cyCode": "63",
  "rdVerifyInfo": {
    "action": "OTP_SMS_TRIGGER",
    "deviceFingerprint": "jrKyNF/...|00|0",
    "operationId": "61f9bcc6-dc0c-4f3d-8566-e1d3dc02653f1783316458430"
  },
  "scene": "REGISTRATION",
  "step": "BSO",
  "tranId": "7f21098a-2113-40fb-bb6a-e2e651460f53"
}

响应仍为 code=0App 可发验证码

3.3 与 7 月 3 日对比

日期 PH register 说明
2026-07-03 4067012 仅 riskToken 尾部净化,无加密前 Hook
2026-07-06 code=0 → OTP 加密前 Hook + Attestation Hook + 方案 B 换 ID + Shamiko

4. 新加坡仍失败 — log 证据

4.1 典型失败11:50换 ID 前)

POST https://api.maribank.com.sg/uapi/v2/register
→ {"code":3100012,"msg":"Unexpected error occurred. Please try again later. "}

加密前 deviceFingerprint 示例:

X4Ln9cRV1v6aabPt4Ymnqw==|RmdlV34wu8nk8n9nj9A+32Z0BjF/29py3UVnqGWHBJRj5HuTmmOPX+pfJWkZBOn/n41pYw==|3ailMzmgCFzRDFGv|00|0

尾部 \|00\|0 已净化,仍 3100012

4.2 SG 错误码含义(推断)

地区 文案
4067012 PH For your account's security, temporarily blocked...
3100012 SG Unexpected error occurred. Please try again later.

同属 服务端风控拒绝,非本地 Root 弹窗。


5. 已实现的 bypass 架构

5.1 分层模型

客户端本地层                     服务端层
─────────────────              ─────────────────
SafeMode Root 弹窗/自杀    →    (不决定 OTP只决定能否进 App
SG ADB 全屏拦截页          →
SHPSSDK assessRisk         →    解密 rdVerifyInfo.data/dataKey
riskToken / deviceFingerprint →  查 deviceHash 黑名单
Magisk resetprop 换 serial  →    区域策略PH 松 / SG 严)

5.2 Xposed 模块文件

文件 作用
MariBankRootBypassHook.java SafeMode、SHPSSDK、ADB Settings、OkHttp 日志、4067/3100012 记录
MariBankShpsNativeHook.java /proc 过滤、SystemProperties、requestDefense 净化(不再 block
MariBankSdkUtilsHook.java 加密前 Hook utils.d / uvwuvwuv / Gson
MariBankRegisterPayloadUtil.java scene=REGISTRATION JSON 净化
MariBankAttestationHook.java native 桥 attestation 链 + 环境探测拦截
MariBankRiskTokenUtil.java riskToken 尾部 |09|1|00|0

5.3 方案 BMagisk 设备 ID 伪装

路径:scripts/magisk/maribank-device-spoof/

脚本 时机 内容
post-fs-data.sh 早期启动 resetprop serial、boot 属性、关 adb 属性
service.sh 开机完成后 写入新 Settings.Secure.android_id

PC 一键:

.\scripts\maribank-spoof-device.ps1              # 一次性 resetprop
.\scripts\maribank-spoof-device.ps1 -InstallModule # 安装持久模块
.\scripts\maribank-scheme-b-finish.ps1             # LSPosed 作用域 + pm clear

5.4 Shamiko 配置要点

  1. Magisk → 开启 Zygisk
  2. Configure DenyList 开启 → 勾选 MariBank PH/SG 全部进程
  3. Enforce DenyList 必须关闭(否则 Shamiko 不生效)
  4. 安装 Shamiko 模块并重启

6. 为何 PH 能过、SG 不过(推断)

详细展开(菲律宾真实原因、afExtInfo、USB 调试与 HookMariBank风控与载荷说明.md §4§5。

维度 PH SG
同一 deviceFingerprint 结构 有,尾部 |00|0 有,尾部 |00|0
data/dataKey attestation 服务端接受 服务端拒绝3100012
测试次数 / 黑名单 较少失败记录 Pixel 6 多次测 SG 注册
API 风控强度 当日实测 通过 当日实测 拒绝
干净机对照 未详测 PH 25078RA3EY 关 ADB 可 OTP

结论

  1. 改 riskToken 尾部 alone 不够,但加上 加密前 Hook + Shamiko + 换 IDPH 足够
  2. SG 可能在 attestation 解密后仍有 更严规则Play Integrity、设备信誉、区域黑名单
  3. PH 成功 不能 直接类推 SGdiff 两次 register 明文换未测过 SG 的环境 再试。

7. 已知问题与踩坑

问题 现象 处理
Gson Hook 误报 i18n 文案含 "register" 刷屏 已改为只匹配 scene=REGISTRATION
requestDefense 被 block x-sap-fixme 已改为执行后净化,不 block
ProcessBuilder 抛异常 which su → SecurityException 待修:应返回空进程而非抛异常
Magisk zip 在 Windows 打包 只解压 module.prop tar -a -cf 或 adb 手动 push sh
关 USB 调试后 adb 断开 收尾脚本卡住 maribank-scheme-b-finish.ps1 已加 60s 超时
Attest native Hook 命中少 仅 8 个 hook data/dataKey 仍未在 native 层改写

禁止操作(会导致白屏/崩溃)

  • Hook System.loadLibrarySG RN 崩溃)
  • Hook RealInterceptorChain.proceed
  • 过早 Hook ShpssInstall / vuvuwwwuw

8. 常用命令

$adb = "C:\Users\Administrator\AppData\Local\Android\Sdk\platform-tools\adb.exe"

# 构建安装
.\scripts\build-debug.ps1
.\scripts\install-debug.ps1

# 抓注册 log先 logcat -c再点 Next
& $adb logcat -d | Select-String "MariBankEncrypt  in0 byte\[1|MariBankRoot HTTP.*register|3100012|4067012|OTP_SMS"

# 验证伪装 ID
& $adb shell su -c "getprop ro.serialno; settings get secure android_id"

9. 新加坡后续建议

  1. 用 PH 成功时的同一环境 测 SG关 USB 调试、pm clear SG 包、冷启动
  2. diff PH vs SG 加密前 register JSONdeviceFingerprint 段、data 长度与字段)
  3. 修复 ProcessBuilder 不抛异常,避免 SHPSSDK 检测 tamper
  4. 若仍 3100012考虑 未测过 SG 的干净机native hook libshpssdk_bank.so
  5. 菲律宾侧:继续走完 OTP → 开户 验证全流程稳定性

10. 相关文档

文档 说明
MariBank风控与载荷说明.md register 字段、afExtInfo、USB 调试、PH 真实原因、Xposed/LSPosed
手机操作手册.md Root 机部署、LSPosed、日常操作、抓 log
Hook指南.md Xposed/LSPosed 概念、Telegram Hook、扩展 App
MariBank实现说明.md PH Hook 实现细节(含 7/3 失败记录,已追加 7/6 突破)
MariBank新加坡逆向.md SG 逆向与 ADB 检测
工作日志_2026-07-03.md 7/3 工作记录

记录日期2026-07-06 · 最后更新:文档体系整理(操作手册 + 风控载荷说明)