菲律宾 SeaBank 在 Root+LSPosed+Shamiko 下 register 已通过并触发 OTP;扩展 SG 包名、加密前 Hook、Magisk 设备伪装脚本,并将 docs 整理为中文操作与风控说明。
122 lines
4.3 KiB
PowerShell
122 lines
4.3 KiB
PowerShell
# MariBank device spoof — Magisk resetprop + optional module install
|
|
# Usage:
|
|
# .\scripts\maribank-spoof-device.ps1 # apply resetprop once via adb su
|
|
# .\scripts\maribank-spoof-device.ps1 -InstallModule # zip & push Magisk module
|
|
# .\scripts\maribank-spoof-device.ps1 -NewIdentity # regenerate serial/android_id files on device
|
|
# .\scripts\maribank-spoof-device.ps1 -ClearMariBank # pm clear MariBank after spoof
|
|
param(
|
|
[switch]$InstallModule,
|
|
[switch]$NewIdentity,
|
|
[switch]$ClearMariBank,
|
|
[string]$DeviceSerial = ""
|
|
)
|
|
|
|
$ErrorActionPreference = "Stop"
|
|
$ProjectRoot = Split-Path -Parent $PSScriptRoot
|
|
|
|
$adb = "C:\Users\Administrator\AppData\Local\Android\Sdk\platform-tools\adb.exe"
|
|
$ModuleDir = Join-Path $PSScriptRoot "magisk\maribank-device-spoof"
|
|
$Pkg = "sg.com.maribankmobile.digitalbank"
|
|
|
|
if (-not (Test-Path $adb)) {
|
|
Write-Host "adb not found: $adb" -ForegroundColor Red
|
|
exit 1
|
|
}
|
|
|
|
function Invoke-AdbShell($cmd) {
|
|
& $adb shell "su -c '$cmd'" 2>&1
|
|
}
|
|
|
|
function Test-Magisk {
|
|
$m = Invoke-AdbShell "command -v resetprop 2>/dev/null || ls /data/adb/magisk/magisk 2>/dev/null"
|
|
return ($LASTEXITCODE -eq 0 -and "$m" -match "resetprop|magisk")
|
|
}
|
|
|
|
Write-Host "=== MariBank Device Spoof (方案 B: Magisk resetprop) ===" -ForegroundColor Cyan
|
|
& $adb devices -l
|
|
|
|
if (-not (Test-Magisk)) {
|
|
Write-Host "Magisk/resetprop not found on device. Install Magisk first." -ForegroundColor Red
|
|
exit 1
|
|
}
|
|
|
|
if ($InstallModule) {
|
|
$zipPath = Join-Path $env:TEMP "maribank-device-spoof.zip"
|
|
if (Test-Path $zipPath) { Remove-Item $zipPath -Force }
|
|
# Use tar (Windows 10+) for Unix paths; Magisk needs post-fs-data.sh at zip root
|
|
Push-Location $ModuleDir
|
|
tar -a -cf $zipPath module.prop post-fs-data.sh service.sh
|
|
Pop-Location
|
|
Write-Host "Pushing module to /sdcard/Download/ ..."
|
|
& $adb push $zipPath /sdcard/Download/maribank-device-spoof.zip
|
|
Write-Host @"
|
|
|
|
Module zip pushed. On phone:
|
|
1. Magisk -> Modules -> Install from storage -> maribank-device-spoof.zip
|
|
2. Reboot
|
|
3. Enable Shamiko (see below)
|
|
|
|
"@ -ForegroundColor Yellow
|
|
}
|
|
|
|
if ($NewIdentity) {
|
|
Write-Host "Removing saved identity (module will regenerate on next boot) ..."
|
|
Invoke-AdbShell "rm -f /data/adb/modules/maribank_device_spoof/serial.txt /data/adb/modules/maribank_device_spoof/android_id.txt"
|
|
}
|
|
|
|
if ($DeviceSerial -eq "") {
|
|
$DeviceSerial = -join ((48..57) + (65..90) + (97..122) | Get-Random -Count 16 | ForEach-Object { [char]$_ })
|
|
}
|
|
$AndroidId = -join ((48..57) + (97..102) | Get-Random -Count 16 | ForEach-Object { [char]$_ })
|
|
|
|
Write-Host "Applying one-shot resetprop (serial=$DeviceSerial android_id=$AndroidId) ..."
|
|
|
|
$props = @(
|
|
"resetprop ro.serialno $DeviceSerial",
|
|
"resetprop ro.boot.serialno $DeviceSerial",
|
|
"resetprop persist.sys.serialno $DeviceSerial",
|
|
"resetprop ro.debuggable 0",
|
|
"resetprop ro.secure 1",
|
|
"resetprop ro.build.tags release-keys",
|
|
"resetprop ro.boot.verifiedbootstate green",
|
|
"resetprop ro.boot.flash.locked 1",
|
|
"resetprop ro.boot.vbmeta.device_state locked",
|
|
"resetprop ro.boot.veritymode enforcing",
|
|
"resetprop init.svc.adbd stopped",
|
|
"resetprop persist.sys.adb_enable 0"
|
|
)
|
|
foreach ($p in $props) {
|
|
Invoke-AdbShell $p | Out-Null
|
|
}
|
|
Invoke-AdbShell "settings put secure android_id $AndroidId" | Out-Null
|
|
|
|
Write-Host "Verify:" -ForegroundColor Green
|
|
Invoke-AdbShell "getprop ro.serialno; getprop ro.boot.serialno; settings get secure android_id"
|
|
|
|
if ($ClearMariBank) {
|
|
Write-Host "Clearing MariBank app data ..."
|
|
Invoke-AdbShell "pm clear $Pkg"
|
|
Write-Host "MariBank data cleared. Cold start Sign up again." -ForegroundColor Green
|
|
}
|
|
|
|
Write-Host @"
|
|
|
|
--- Shamiko checklist (required for scheme B) ---
|
|
1. Magisk -> Settings -> Configure DenyList -> enable DenyList
|
|
2. DenyList -> add $Pkg (all sub-processes)
|
|
3. Install Shamiko module (Magisk repo / GitHub releases)
|
|
4. Magisk -> Settings -> hide Magisk app (optional)
|
|
5. LSPosed: keep module scoped to MariBank; soft reboot MariBank after spoof
|
|
6. Turn OFF USB debugging before testing register (or rely on Xposed adb bypass)
|
|
|
|
To install persistent module:
|
|
.\scripts\maribank-spoof-device.ps1 -InstallModule
|
|
|
|
To force new identity on next boot:
|
|
.\scripts\maribank-spoof-device.ps1 -NewIdentity -InstallModule
|
|
(then reboot)
|
|
|
|
Log on device: /cache/maribank_device_spoof.log
|
|
|
|
"@ -ForegroundColor Cyan
|