fkysr2.py 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. # -*- coding:utf-8 -*-
  2. import sys
  3. __author__ = 'Snow'
  4. import frida
  5. dev = frida.get_remote_device()
  6. session = dev.attach("海王捕鱼")
  7. src = """
  8. setImmediate(function(){
  9. Java.perform(function(){
  10. send("starting script");
  11. var Toast = Java.use("android.widget.Toast");
  12. // 获取 context
  13. var currentApplication = Java.use("android.app.ActivityThread").currentApplication();
  14. var context = currentApplication.getApplicationContext();
  15. // 在主线程中运行回调
  16. Java.scheduleOnMainThread(function(){
  17. Toast.makeText(context, "Hello frida!", Toast.LENGTH_LONG.value).show();
  18. });
  19. var sdk = Java.use("com.handmobi.mutisdk.library.api.sdk._360");
  20. sdk.gameLogin.implementation = function(var1,var2,var3){
  21. this.gameLogin(var1,var2,var3);
  22. send("Landroid/app/Activity; : "+var1);
  23. send("int : "+var2);
  24. send("Lcom/handmobi/mutisdk/library/game/SdkResultCallBack; : "+var3);
  25. //console.log(Java.use("android.util.Log").getStackTraceString(Java.use("java.lang.Exception").$new()));
  26. };
  27. var AppUtil_OuterAccess = Java.use("com.handmobi.sdk.library.utils.AppUtil_OuterAccess")
  28. AppUtil_OuterAccess.getToken.overload("android.content.Context").implementation = function(var1){
  29. var token = AppUtil_OuterAccess.getToken(var1);
  30. send("token is:" + token);
  31. return token;
  32. }
  33. var loginCallback = Java.use("com.handmobi.mutisdk.library.api.sdk._360$3");
  34. loginCallback.onFinished.implementation = function(result){
  35. send("login result:"+result);
  36. this.onFinished(result);
  37. }
  38. });
  39. });
  40. """
  41. def on_message(message,data):
  42. print("[-] {}".format(message))
  43. script = session.create_script(src)
  44. script.on("message", on_message)
  45. script.load()
  46. sys.stdin.read()