0
点赞
收藏
分享

微信扫一扫

Frida调用静态函数和非静态函数


调用静态函数可以直接调用,不用​​implementation​​​再去定义。调用非静态函数需要用​​choose​​去搜索实例,再从结果实例里调用非静态函数,无需手动触发了。

Android源码

package com.github.androiddemo.Activity;

import android.content.Intent;

public class FridaActivity2 extends BaseFridaActivity {
private static boolean static_bool_var = false;
private boolean bool_var = false;

private static void setStatic_bool_var() {
static_bool_var = true;
}

private void setBool_var() {
this.bool_var = true;
}
}

Frida JS代码

function call_var() {
Java.perform(function () {
var FridaActivity2 = Java.use(
"com.github.androiddemo.Activity.FridaActivity2");
console.log("static_bool_var:", FridaActivity2.static_bool_var.value);
FridaActivity2.setStatic_bool_var(); //调用静态函数
console.log("static_bool_var:", FridaActivity2.static_bool_var.value);

//调用非静态函数
Java.choose("com.github.androiddemo.Activity.FridaActivity2", {
onMatch : function(instance) {
console.log("bool_var:", instance.bool_var.value);
instance.setBool_var();
console.log("bool_var:", instance.bool_var.value);
}, onComplete : function() {
}
})
});
}


举报

相关推荐

0 条评论