Я столкнулся с проблемой при попытке перебора приложения. Код метода приведен ниже.
private fun loginApi(phone: String, pin: String) {
if (firebase_token.isEmpty()) {
//
}else {
showDialog()
//
// Code to call api and perform authentication
}
Я попробовал приведенный ниже код, но он не работает.
Java.perform(function () {
var OTPActivity = Java.use('com.example.example.Getstarted.FragmentOtpVerification');
OTPActivity.loginApi.overload("java.lang.String", "java.lang.String").implementation = function(phone_no, pin){
for(var i=1140; i<1151; i++)
{
send(i);
var my_phone = string_class.$new('/*Number over here*/');
var my_pin = string_class.$new(i);
var result = this.loginApi(my_phone, my_pin);
console.info(result);
}
console.info('Done:');
};
});
Я пытаюсь использовать этот метод методом перебора. Любая помощь будет оценена по достоинству.
Прямо сейчас я застрял из-за того, что не могу преобразовать Int в String, так как при просмотре adb logcat возникает ошибка, поскольку класс «java.util.String» не найден. Можете ли вы помочь мне в невозможности преобразовать Int в String?
В приведенном выше коде проблема была с var my_pin = string_class.$new(i);. Но теперь я застрял в преобразовании Int в String.
Мне удалось перебрать метод, просто манипулируя оператором преобразования Int в String. Перередактированный код можно увидеть ниже:
Java.perform(function () {
var OTPActivity = Java.use('com.example.example.Getstarted.FragmentOtpVerification');
OTPActivity.loginApi.overload("java.lang.String", "java.lang.String").implementation = function(phone_no, pin){
for(var i=1140; i<1151; i++)
{
send(i);
var my_phone = string_class.$new('/*Number over here*/');
var my_pin = i + ""; /* Changed over here. */
var result = this.loginApi(my_phone, my_pin);
console.info(result);
}
console.info('Done:');
};
});
Извините, но вы должны более конкретно рассказать о своей проблеме, просто написать «не работает» - это ничем, с чем мы можем вам помочь. Отредактируйте вопрос и точно опишите, в чем проблема с вашим кодом.