Android · Kotlin · 移动开发 · 性能测试 · 无线技术Java Web 核心技术

frida hook重载函数的几种写法

2017-05-09  本文已影响561人  光剑书架上的书

apply arguments

MyClass.MyFunc.overload("java.util.List").implementation = function() {
    this.MyFunc.overload("java.util.List").apply(this, arguments);
}

argments下标

MyClass.MyFunc.overload("java.util.List").implementation = function () {
    this.MyFunc(arguments[0]);
};

用具体的

MyClass.MyFuncs.overload("int", "int").implementation = function (s1, s2) {
    var ret = this.MyFuncs(s1, s2);
}

字符串数组

hook.hookMeArray.overload("[Ljava.lang.String;").implementation = {}

用call

var Handler = classFactory.use("android.os.Handler");
var Looper = classFactory.use("android.os.Looper");

var looper = Looper.getMainLooper();
var handler = Handler.$new.overload("android.os.Looper").call(Handler, looper);



MyClass.MyFunc.overload("java.lang.String;").implementation = {
     this.MyFunc.overload("java.lang.String").call(this, args[1])
     MyClass.MyFunc.overload("java.lang.String").call()
}


上一篇 下一篇

猜你喜欢

热点阅读