我有ff Java代码:

public class Class1 {

    public boolean Function1() {
    }

    public boolean Function2() {
    }

    public boolean Function3() {
    }
    ...
    public boolean FunctionX() {
    }
}


我想将所有这些功能与Frida挂钩。例如:

Java.perform(function(){
    var classVar = Java.use("Class1");

    classVar.Function1.implementation = function(){
        // code here
    };

    classVar.Function2.implementation = function(){
        // code here
    };

    classVar.Function2.implementation = function(){
        // code here
    };

    ...

    classVar.FunctionX.implementation = function(){
        // code here
    };
});


由于这些函数属于同一类,所以我想知道是否可以通过将它们放在数组中并在它们之间循环来挂钩所有这些函数?这样,我的代码将更短。

最佳答案

您可以使用Java.use("com.Class1").class.getDeclaredMethods()迭代类方法

完整示例可在https://github.com/iddoeldor/frida-snippets#trace-class中找到

09-25 21:05