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类的实例。

4. 调用某个类的静态方法时 类.方法.overload(参数, 参数...).call(类, 参数值, 参数值...)

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

Frida 问题集锦的更多相关文章

  1. 看完SQL Server 2014 Q/A答疑集锦:想不升级都难!

    看完SQL Server 2014 Q/A答疑集锦:想不升级都难! 转载自:http://mp.weixin.qq.com/s/5rZCgnMKmJqeC7hbe4CZ_g 本期嘉宾为微软技术中心技术 ...

  2. Android之常见问题集锦Ⅱ

    Android问题集锦Ⅰ:http://www.cnblogs.com/AndroidJotting/p/4608025.html EditText输入内容改变事件监听 _edit.addTextCh ...

  3. Visual Studio问题集锦:coloader80.dll未正确安装

    问题 今天在修改之前的一个项目的时候报了一个错,大概内容如下: 有一个 Visual Studio 的 DLL 文件(coloader80.dll)未正确安装.请通过"控制面板"中 ...

  4. Eclipse for Java EE软件操作集锦(二)

    看本文章之前请确保已经了解eclipse建立web工程,如果有疑问请查看本系列文章第一篇 eclipse软件操作集锦(一) 1.我们添加一个servlet 配置一下web.xml测试一下是否能正常显示 ...

  5. Frida HOOK微信实现骰子作弊

    由于微信摇骰子的功能在本地进行随机后在发送,所以存在可以hook掉判断骰子数的方法进行修改作弊. 1.frida实现hook java层函数1)写个用来测试的demo,当我们点击按钮的时候会弹出窗口显 ...

  6. window frida安装

    当需要安装第三方python包时,可能会用到easy_install命令.easy_install是由PEAK(Python Enterprise Application Kit)开发的setupto ...

  7. Mysql 常用 SQL 语句集锦

    Mysql 常用 SQL 语句集锦 基础篇 //查询时间,友好提示 $sql = "select date_format(create_time, '%Y-%m-%d') as day fr ...

  8. C/C++面试题集锦(一)

    C/C++面试题集锦(一) */--> C/C++面试题集锦(一) 在类的头文件中进行声明然后在定义文件中实现有什么意义? 一方面使类的实现只编译一次,提高编译效率:另一方面可以实现类的接口和实 ...

  9. 通用js函数集锦<来源于网络> 【二】

    通用js函数集锦<来源于网络> [二] 1.数组方法集2.cookie方法集3.url方法集4.正则表达式方法集5.字符串方法集6.加密方法集7.日期方法集8.浏览器检测方法集9.json ...

  10. 通用js函数集锦<来源于网络/自己> 【一】

    通用js函数集锦<来源于网络/自己>[一] 1.返回一个全地址2.cookie3.验证用户浏览器是否是微信浏览器4.验证用户浏览器是否是微博内置浏览器5.query string6.验证用 ...

随机推荐

  1. 关于对 Tomcat 进行小版本升级的快速解决方案

    1.背景描述 原来的 Tomcat 在部署时,使用的是最新的版本 9.0.40 . 经过一段时间后,在原来的 Tomcat 版本中,发现存在漏洞. 因此,需要将旧版本(9.0.40)升级到没有漏洞的新 ...

  2. 【LLM训练系列】从零开始训练大模型之Phi2-mini-Chinese项目解读

    一.前言 本文主要是在复现和实践Phi2-mini-Chinese后,简要分析下Phi2-mini-Chinese这个项目,做一个学习实战总结. 原文发布于知乎:https://zhuanlan.zh ...

  3. nacos未授权访问漏洞,导致被网警找

    背景 公司收购了另一家公司,所以相应的后端服务和服务器都交给我管理,但是没有任何的交接文档,大概看了一下代码,依赖的东西就去忙别的了. 直到今天网警突然打电话给我说系统有漏洞(CVE-2021-294 ...

  4. ASP.NET Core – Work with Environment (Development, Staging, Production)

    前言 这篇讲一讲发布和环境 (development, staging, production) 介绍 我的网站是 host 在 Azure 的 Virtual Machine, 跑 IIS, 没有使 ...

  5. SSD-KD:天翼云&清华出品,最新无原始数据的蒸馏研究 | CVPR'24

    无数据知识蒸馏能够利用大型教师网络所学到的知识,来增强较小型学生网络的训练,而无需访问原始训练数据,从而避免在实际应用中的隐私.安全和专有风险.在这方面的研究中,现有的方法通常遵循一种反演蒸馏的范式, ...

  6. JavaScript习题之判断题

    1. JavaScript是Java语言的脚本形式.( ) 2. JavaScript中的方法名不区分大小写.( ) 3. JavaScript语句结束时的分号可以省略.( ) 4. 通过外链式引入J ...

  7. 非常非常好用的一款账户密码保存工具-KeePass

      非常非常好用的一款账户密码保存工具 下载地址: https://sourceforge.net/projects/keepass/files/KeePass%202.x/2.55/KeePass- ...

  8. Haproxy详解以及基于Haproxy的高可用实战

    1.Haproxy与Keepalived VRRP 介绍 软件:haproxy 主要是做负载均衡的7层,也可以做4层负载均衡 apache也可以做7层负载均衡,但是很麻烦.实际工作中没有人用. ngi ...

  9. Spring技术书的代码资源下载

    我是清华社编辑,这些资源获得作者授权,免费提供给读者个人学习使用.禁止任何形式的商用. 二维码用微信扫,按提示填写你的邮箱,转到电脑上打开邮箱下载.清华国企网盘,比较快速.安全.放心下载. 百度网盘链 ...

  10. 在windows下安装Composer(转载)

    在windows下安装Composer Composer是 PHP 用来管理依赖(dependency)关系的工具.你可以在自己的项目中声明所依赖的外部工具库(libraries),Composer ...