Frida Hook方法大全(普通、重载、构造)

一、普通方法

var act = Java.use("com.xxx.cxnppwx.MyJni"); 
console.log(act.func);  // func表示方法
act.func.implementation = function (a,b) {
    
    
	console.log(a);
	console.log(b);
	var result = this.func(a,b);
	console.log(result);
	return result;
}

二、重载方法

var act = Java.use("com.xxx.cxnppwx.MyJni"); // $:表示类中类
console.log(act.func);  // func表示方法
act.func.overload('java.lang.String').implementation = function (a) {
    
    
	console.log(a);
	var result = this.func(a);
	console.log(result);
	return result;
}

其他类型

.overload()
.overload('int')
.overload('java.lang.Exception')
.overload('android.content.Context')
.overload('java.lang.String')
.overload('android.content.Context', 'java.lang.String')
.overload('java.io.BufferedInputStream', 'java.io.BufferedInputStream', 'int')
.overload('android.content.Context', 'java.lang.String', 'java.lang.String', 'java.lang.String')

三、构造方法

var act = Java.use('com.xxx.fridatest.Money');
act.$init.implementation = function(a, b) {
    
    
	console.log(a);
	console.log(b);
	a = 100;
	b = "Frida";
	return this.$init(a, b);
}

猜你喜欢

转载自blog.csdn.net/weixin_51111267/article/details/130972833