新增 MariBank/SeaBank PH Root 与 SHPSSDK bypass、riskToken 净化及 Up/Suncorp/ubank 消息 Hook;整理 reverse/ 脚本与 Frida 工具链,并补充当日工作说明文档。
32 lines
1.1 KiB
Python
32 lines
1.1 KiB
Python
# -*- coding: utf-8 -*-
|
|
import re
|
|
import zipfile
|
|
|
|
APK = r"C:\Users\Administrator\Desktop\notiMessage\reverse\apks\seabank_ph_base.apk"
|
|
classes = [
|
|
b"Lcom/shopee/shpssdk/SPSRiskTokenCallback;",
|
|
b"Lcom/shopee/shpssdkbank/SPSRiskTokenCallback;",
|
|
b"Lcom/shopee/shpssdk/SPSResultCallback;",
|
|
b"Lcom/shopee/shpssdkbank/SPSResultCallback;",
|
|
b"Lcom/shopee/shpssdk/SHPSSDK;",
|
|
b"Lcom/shopee/shpssdkbank/SPSAssessRisk;",
|
|
]
|
|
with zipfile.ZipFile(APK) as zf:
|
|
data = b"".join(zf.read(n) for n in zf.namelist() if n.endswith(".dex"))
|
|
for c in classes:
|
|
name = c.decode()[1:-1].replace("/", ".")
|
|
print("===", name, "===")
|
|
idx = 0
|
|
while True:
|
|
idx = data.find(c, idx)
|
|
if idx < 0:
|
|
break
|
|
ctx = data[max(0, idx - 150): idx + 400]
|
|
for m in re.finditer(rb"[a-zA-Z][a-zA-Z0-9_$]{2,40}", ctx):
|
|
s = m.group().decode()
|
|
if any(k in s.lower() for k in ["token", "risk", "result", "callback", "assess", "get", "on"]):
|
|
if len(s) > 4:
|
|
print(" ", s)
|
|
idx += 1
|
|
break
|