# MariBank v3.22 — Frida trace 目标（注册加密）

## sdkutils（注册 body 很可能经此加密）

| 类 | 说明 |
|----|------|
| `com.shopee.bke.lib.jni.utils.f` | SoUtils，`loadSoLibrary("sdkutils")` |
| `com.shopee.bke.lib.jni.utils.uvwuvwuv` | NativeEncryptUtils，**PUBLIC STATIC NATIVE** |
| `com.shopee.bke.lib.jni.utils.d` | NativeEncryptUtilsWrapper，调用 `uvwuvwuv.uvwuuww([B,String,Z,J)[[B` |

logcat 标签：`NativeEncrypt: loading JNI`、`CharacterCryptoManager`

## libshpssdk_bank.so（riskToken / DFP）

| 类 / 方法 | 说明 |
|-----------|------|
| `vvuuuuvvv.wwvuwuwvu(Context)` | getRiskToken 真实入口 |
| `wvvvuwwu.vvuwuuvuu(String,ZZ)` | → native `wwvwvwuvv(int,String)` |
| `wvvvuwwu.vuwuuuwv([B,[B)` | requestDefense 解密 |
| `SHPSSDK.requestDefense` | 出站 HTTP 头 `x-sap-fixme` |

## 运行

```powershell
# SG 专用 native trace（推荐）
.\scripts\run-frida-sg-native.ps1

# 或
cd reverse\frida
C:\Users\Administrator\AppData\Local\Programs\Python\Python312\python.exe run_frida_sg_native.py attach

# PH 旧脚本（勿用于 SG）
.\run-frida-trace.ps1 -Mode spawn
```

建议测试时**暂时关闭 LSPosed 对 MariBank 的作用域**，避免与 Frida 冲突。

## 预期输出

- `RegisterNatives libsdkutils.so ...` — JNI 符号
- `NativeEncryptWrapper.*` — 加密前明文（若走 Java 包装）
- `HTTP POST .../uapi/v2/register` — 请求/响应 body
- `vvuuuuvvv.wwvuwuwvu ret` — riskToken 全文
