Вы пытаетесь подключить неправильный класс - скорее всего потому, что вы используете Jadx для декомпиляции неправильных настроек и не знаете о Java классах.
Если вы используете Jadx для декомпиляции файла APK обязательно отключите настройку Встроенные анонимные классы , чтобы увидеть реальное имя класса, к которому относится метод.
Метод onClick()
принадлежит анонимный внутренний класс, созданный new DialogInterface.OnClickListener()
, а не sg.vantagepoint.uncrackable1.MainActivity
- следовательно, вы пытаетесь подключить неправильный класс. Метод a(String)
, в котором он используется, совершенно не имеет отношения к подключению. Анонимные внутренние классы имеют свое собственное имя класса, основанное на внешнем классе, добавляемом $
и числом. Поэтому правильное имя класса может быть sg.vantagepoint.uncrackable1.MainActivity$1
или sg.vantagepoint.uncrackable1.MainActivity$2
, в зависимости от того, сколько других анонимных внутренних классов присутствует.
Кроме того, что-то вроде mClass.a.onClick
невозможно, так как внутри метода нет метода (a
- это метод, а onClick
- это метод).
В конце концов, вы может закончиться следующим кодом Фриды:
Java.perform(function() {
console.log("[*] START...")
var mClass = Java.use("sg.vantagepoint.uncrackable1.MainActivity$1")
mClass.onClick.implementation=function() {
console.log("[*] Clicked ")
}
})