Я пытаюсь изучить Фриду и пока немного экспериментирую. В основном все работало, к счастью, я смог найти достаточно примеров и руководств, которые помогут мне в этом. Однако на данный момент я застрял с очень конкретной задачей.
Итак, скажем, ниже приведена зацепка 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();
});
//wait (sleep) 10-15 secs
Java.perform(() => {
// test it!
TestClass.testStaticMethod(testStr, testMap);
});
он НЕ выводит «перехват!» Что может быть причиной?
TestClass.testStaticMethod.overload('java.lang.String', 'java.util.HashMap')
илиTestClass.testStaticMethod.overload('java.lang.String', 'java.util.AbstractMap')
. - person Jean-Baptiste Martin   schedule 11.05.2020