frida问题。挂接静态方法调用

问题描述 投票:2回答:1

我正在尝试学习Frida并进行了一些尝试。事情大部分都进​​行了,幸运的是,我可以找到足够的示例和教程来帮助我。但是,在这个时候,我手头上有一个非常具体的任务。

所以让我们在下面说的是我指的Frida钩子:

代码:

Java.perform(() => {
  const TestClass = Java.use(
    'com.test.TestClass',
  );
  TestClass.testStaticMethod.overload('java.lang.String', 'java.util.Map').implementation = function (
    str,
    map,
  ) {


    console.log('intercept!');
    return this.b(str, map);
  };
  const testStr = Java.use('java.lang.String').$new('test');
  const testMap = Java.use('java.util.HashMap').$new();

  // test it!   
  TestClass.testStaticMethod(testStr, testMap);
});

它不输出“拦截!”可能是什么原因?

android security hook code-injection frida
1个回答
0
投票

在脚本中对TestClass.testStaticMethod(testStr, testMap);的调用不会执行该挂钩,但是会执行原始的未挂钩方法。因此,在加载脚本时,您将永远不会看到输出intercept!

仅当钩子方法由应用程序执行时,才会生成输出intercept!。>

© www.soinside.com 2019 - 2024. All rights reserved.