wlxxkp.py 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. # -*- coding:utf-8 -*-
  2. import sys
  3. __author__ = 'Snow'
  4. import frida
  5. app = "武林闲侠"
  6. dev = frida.get_remote_device()
  7. # pid = dev.spawn(app)
  8. session = dev.attach(app)
  9. src = """
  10. setImmediate(function(){
  11. Java.perform(function(){
  12. send("starting script");
  13. //var Toast = Java.use("android.widget.Toast");
  14. // 获取 context
  15. //var currentApplication = Java.use("android.app.ActivityThread").currentApplication();
  16. //var context = currentApplication.getApplicationContext();
  17. // 在主线程中运行回调
  18. //Java.scheduleOnMainThread(function(){
  19. // Toast.makeText(context, "Hello frida!", Toast.LENGTH_LONG.value).show();
  20. //});
  21. var TypedArray = Java.use("android.content.res.TypedArray");
  22. TypedArray.hasValue.implementation = function(var1){
  23. var result = this.hasValue(var1);
  24. send("hook hasValue index="+var1);
  25. send("hook hasValue mData=" + this.mData.value);
  26. send("hook hasValue result="+result);
  27. return result;
  28. };
  29. var Activity = Java.use("android.app.Activity");
  30. Activity.onCreate.overload("android.os.Bundle").implementation = function(var1){
  31. send("hook onCreate activity="+this);
  32. this.onCreate(var1);
  33. };
  34. var AppCompatDelegateImpl = Java.use("androidx.appcompat.app.AppCompatDelegateImpl");
  35. AppCompatDelegateImpl.createSubDecor.implementation = function(){
  36. send("hook createSubDecor");
  37. var result = this.createSubDecor();
  38. console.log(Java.use("android.util.Log").getStackTraceString(Java.use("java.lang.Exception").$new()));
  39. return result;
  40. };
  41. //var Context = Java.use("android.content.Context");
  42. //Context.obtainStyledAttributes.overload("[I").implementation = function(var1){
  43. // var result = this.obtainStyledAttributes(var1);
  44. // send("obtainStyledAttributes param1="+var1);
  45. // console.log(Java.use("android.util.Log").getStackTraceString(Java.use("java.lang.Exception").$new()));
  46. // return result;
  47. //};
  48. });
  49. });
  50. """
  51. def on_message(message,data):
  52. print("[-] {}".format(message))
  53. script = session.create_script(src)
  54. script.on("message", on_message)
  55. script.load()
  56. # dev.resume(app)
  57. sys.stdin.read()