zoukankan      html  css  js  c++  java
  • Frida 问题集锦

    1. 使用过程中少用this

    Activity.onStart.implementation = function() {
                console.log('onStart: ' + this);
                this.onStart();
    
                //public static void SomeClass.init(final Context var0)
                SomeClass.init(this);
    }

    上面的代码中,当调用SomeClass.init(this) 方法会导致SomeClass的初始化不成功,因为这里的this并不是Activity的this实例,应该采用下面的方式调用

    Activity.onStart.implementation = function() {
                console.log('onStart: ' + this);
                this.onStart();
    
                //public static void SomeClass.init(final Context var0)
               var activityThis = this
                SomeClass.init(activityThis);
    }

    2. 通过 Java.registerClass 注册一个类时,如果需要在有参数的构造方法中调用父类有参数的构造方法需要采用下面的方式

    var MyHandler = Java.registerClass({
            name:'com.test.pq.MyHandler',
            superClass: Handler,
            methods: {
            //public Handler(Looper looper) $init:{ argumentTypes:[
    'android.os.Looper'], implementation: function(looper){ Handler.$init.overload('android.os.Looper').call(this, looper) }}, handleMessage:{ returnType:'void', argumentTypes:['android.os.Message'], implementation:function(msg) { console.log('handleMessage:' + msg.what) if (1000 == msg.what) { //心跳处理 } }} } });

    上面的代码新注册了一个Handler的子类,构造方法要实现Handle(Looper)。在调用父类的构造方法时call()方法中一定要传this实例,否则MyHandler类实例的looper将为null。

    3. 调用某个类实例方法的多个重载版本时需要使用 类.方法.overload(参数, 参数...).call(类实例, 参数值, 参数值...)

    //public void com.test.SomeClass.a(java.lang.String,java.lang.String)
    SomeClass.a.overload('java.lang.String','java.lang.String').call(objSomeClass, smsaddr, '0');

    objSomeClass 是 SomeClass类的实例。

  • 相关阅读:
    Java中BigDecimal的8种舍入模式
    Spring 4.3.2下实现http多次断点下载
    java文件同步性能测试
    JavaMail发送邮件时判断发送结果1.5.x
    关于mysql备份说明
    jxl 2.6.12 与 jxl 2.3.0 稳定版性能比较
    select选择框内容左右移动添加删除栏(升级)
    JS 清除字符串数组中,重复元素
    Js 数据容量单位转换(kb,mb,gb,tb)
    fine-uploader 5.11.8 (最新版) 使用感受
  • 原文地址:https://www.cnblogs.com/cadstudy/p/12712855.html
Copyright © 2011-2022 走看看