# -*- coding: utf-8 -*- import subprocess import zipfile from pathlib import Path APK = Path(__file__).resolve().parent.parent / "apks" / "seabank_ph_base.apk" DEXDUMP = Path(r"C:\Users\Administrator\AppData\Local\Android\Sdk\build-tools\37.0.0\dexdump.exe") targets = [ "Lcom/shopee/shpssdkbank/ShpssInstall;", "Lcom/shopee/shpssdkbank/vuvuwwwuw;", "Lcom/shopee/shpssdkbank/vwuuwwvwv;", "Lcom/shopee/shpssdkbank/uvuwwuvwv/uvwwuuvvw;", ] tmp = Path(__file__).resolve().parent.parent / "tmp" / "tmp11.dex" with zipfile.ZipFile(str(APK)) as zf: tmp.write_bytes(zf.read("classes11.dex")) out = subprocess.check_output([str(DEXDUMP), "-d", str(tmp)], universal_newlines=True, errors="replace") for target in targets: print("=" * 60, target) cap = False n = 0 for line in out.splitlines(): if f"Class descriptor : '{target}'" in line: cap = True elif cap and line.startswith(" Class descriptor"): break if cap: print(line.encode("ascii", "replace").decode()) n += 1 if n > 80: print("...truncated...") break