import frida import time device = frida.get_usb_device(timeout=5) print(f"Device: {device.name}") # Spawn WeChat print("Spawning com.tencent.mm...") pid = device.spawn(["com.tencent.mm"]) print(f"Spawned PID: {pid}") session = device.attach(pid) print("Attached to spawned process") script = session.create_script(""" console.log("Process spawned, Java.available = " + (typeof Java !== 'undefined' ? Java.available : 'undefined')); if (typeof Java !== 'undefined' && Java.available) { Java.perform(function() { console.log("Java.perform OK"); try { var r1 = Java.use("u01.r1"); console.log("u01.r1 loaded"); var builder = r1.a("yibooo"); var clsName = builder.getClass().getName(); console.log("BUILDER_CLASS:" + clsName); var superCls = builder.getClass().getSuperclass(); if (superCls) { console.log("SUPER_CLASS:" + superCls.getName()); } } catch(e) { console.log("Error: " + e); } }); } else { console.log("Java not available"); } """) def on_message(message, data): print(f"[MSG] {message}") script.on("message", on_message) script.load() print("Script loaded, resuming...") device.resume(pid) time.sleep(8) print("Done")