Files
notiMessage/docs/MariBank新加坡突破.md
mars 609635aba1 chore: 备份 TNG 注册/captcha 逆向与 MariBank SG bypass 进展
TngRootBypassHook 增强 captcha 诊断、TigerTally/JNIC 分层与 HWUI 策略;新增逆向脚本、Frida 工具与 UI dump;同步 MariBank SG hook 与 tng_exit_guard 更新。
2026-08-03 15:23:02 +08:00

140 lines
5.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# MariBank 新加坡注册突破计划2026-07-06
> **现状**PH ✅ OTP`code=0`SG ❌ **3100012**`api.maribank.com.sg`
> **关联**[`MariBank_2026-07-06_菲律宾突破.md`](MariBank_2026-07-06_菲律宾突破.md) · [`MariBank新加坡逆向.md`](MariBank新加坡逆向.md) · [`MariBank风控与载荷说明.md`](MariBank风控与载荷说明.md)
---
## 1. 问题定位
| 层级 | SG 状态 | 说明 |
|------|---------|------|
| 本地 Root / ADB 页 | ✅ 可 bypass | 能进注册页、点 Next |
| DFP 上报 | ✅ 通常 `code=0` | 只表示收到,不等于注册过 |
| `deviceFingerprint` 尾部 | ✅ 已 `\|00\|0` | Java 层净化生效 |
| **`rdVerifyInfo.data` / `dataKey`** | ❌ 服务端拒 | **3100012 主因** |
| 干净机 `25078RA3EY` | ✅ 关 USB 调试可 OTP | 无 LSPosed |
**结论**SG 卡在 **native attestation 密文 + 区域风控**,不是再堆本地弹窗拦截。
---
## 2. 与 PH 的差异(实测 + 逆向)
| 维度 | PH | SG |
|------|----|----|
| API | `api.seabank.ph` | `api.maribank.com.sg` |
| 错误码 | 4067012 | **3100012** |
| App 版本 | 3.22.0 | 3.2.2 |
| 国家码 `cyCode` | 63 | **65** |
| 本地 ADB 检测 | 较弱 | **RISK_USB_ADB / RISK_WIFI_ADB** |
| 服务端 strictness | 7/6 已通过 | **更严** |
| 设备黑名单 | 较少 | Pixel 6 多次测 SG 可能已标记 |
---
## 3. 本轮代码改动2026-07-06
| 改动 | 目的 |
|------|------|
| **`ProbeGuard`** | `ProcessBuilder` / `Runtime.exec` 返回假进程,**不再抛 SecurityException**(避免 SHPSSDK 记 tamper |
| **`MariBankAttestationHook`** | 增加 `vvuuuuvvv``uvuwwuvwv.uvwwuuvvw` attestation 类 Hook |
| **`MariBankShpsNativeHook`** | native-core 增加 `vvuuuuvvv` |
| **`MariBankRegisterPayloadUtil`** | 加密前 log`cyCode``dataLen``dataKeyLen``fpTail` |
---
## 4. 推荐测试流程Root 机)
### 4.1 每次测 SG 前(降低黑名单概率)
```powershell
cd C:\Users\Administrator\Desktop\notiMessage
# 1. 编译安装最新 Hook
.\scripts\build-debug.ps1
.\scripts\install-debug.ps1
# 2. 新设备 ID保持 USB 调试,便于继续 adb
.\scripts\maribank-sg-register.ps1 -NewIdentity -KeepAdb
# 3. 上机测 SG 前再关 USB 调试(会断开 PC adb属预期
.\scripts\maribank-sg-register.ps1 -DisableUsbDebug
```
### 4.2 手机侧
> **LSPosed 里两个都叫「MariBank」**:菲律宾 `ph.seabank.seabank`v3.22.0)与新加坡 `sg.com.maribankmobile.digitalbank`v3.2.2)桌面名相同,从 LSPosed 作用域点开会容易进错。**请认包名**,或 PC 执行 `.\scripts\launch-maribank-sg.ps1` 直接打开新加坡版。log 里应出现 `api.maribank.com.sg`,若全是 `api.seabank.ph` 说明开的是菲律宾 App。
1. LSPosed模块启用作用域含 **`sg.com.maribankmobile.digitalbank`**
2. **软重启** MariBank SG不是只杀进程
3. Shamiko + DenyList 勾选 SG 全部进程,**Enforce=OFF**
4. (建议)**关闭 VPN**
5. Sign up → 新加坡手机号 → **Next**
### 4.3 抓 log
```powershell
.\scripts\maribank-sg-register.ps1 -CaptureLog -KeepAdb
```
> **注意**:旧版脚本默认会关 USB 调试,导致 PC 立刻 `no devices`。抓 log 必须加 **`-KeepAdb`**,或先在手机上重新打开 USB 调试。
关注:
```text
MariBankRegister: register summary cy=65 scene=REGISTRATION step=BE fpTail=00|0 dataLen=... dataKeyLen=...
MariBankRoot HTTP .../uapi/v2/register ... code=0 ← 成功
MariBankRoot HTTP .../uapi/v2/register ... code=3100012 ← 仍失败
ProbeGuard: fake probe process ← 探针已静默拦截
```
---
## 5. 若仍 3100012 — 按优先级排查
| 优先级 | 动作 | 原因 |
|--------|------|------|
| P0 | **换新 serial + android_id**`-NewIdentity` | SG 可能设备级黑名单 |
| P0 | **关 USB 调试 + 无线调试** | 干净机对照:开调试本地 ADB 页;服务端 SG 更严 |
| P0 | **关 VPN** | 截图曾见 VPN 图标,可能进 risk |
| P1 | diff PH vs SG 同机 `register summary` | 对比 `dataLen`、fingerprint 段 |
| P1 | 用 **未测过 SG 的干净机** 注册一次 | 分离「设备黑」vs「Root 载荷不可过」 |
| P2 | Play Integrity / PIF 模块是否生效 | SG 可能校验 attestation 内 integrity |
| P3 | native hook `libshpssdk_bank.so` 生成链 | Java 层改不了 `data` 密文内容 |
---
## 6. 成功标准
```json
POST https://api.maribank.com.sg/uapi/v2/register
{"code":0,"msg":"success","data":{"scene":"REGISTRATION","step":"BSO",...}}
```
随后 App 进入 **OTP 短信** 步骤(与 PH 相同 step 流转)。
---
## 7. 禁止操作
与 PH 相同,会导致白屏 / RN 崩溃:
- Hook `System.loadLibrary`
- Hook `RealInterceptorChain.proceed`
- 过早 Hook `ShpssInstall` / `vuvuwwwuw`
---
## 8. 相关脚本
| 脚本 | 用途 |
|------|------|
| `scripts/maribank-sg-register.ps1` | SG 测前准备 + 抓 log |
| `scripts/maribank-spoof-device.ps1 -NewIdentity` | 换 serial / android_id |
| `scripts/maribank-scheme-b-finish.ps1` | LSPosed 作用域 + pm clear |
---
*最后更新2026-07-06*