Frida-Labs ejercicio 0x7

 






Bueno como esta corriendo en el MainActivity y que se esta Creando una instancia de la clase "Checker" el cual esta recibiendo 2 parametros por defecto que es 123 y 321 que estan siendo asignado a la instancia en "num1" y "num2"



Como vemos esta siendo instanciada en el MainActivity asi que lo que tendremos que usar en mi caso es Java.performNow para instanciar el MainActivity y dentro crear la instancia de la clase "Checker" con sus 2 parametros.


Vemos que para obtener la Flag tenemos que cumplir una condicion con los parametros que se estan asignando en la Instancia de "Checker". 

Basicamente que si "num1" y "num2" son menores a 512 entonces se cumple la condicion y nos dara la Flag

Java.performNow(function() {
  Java.choose("com.ad2001.frida0x7.MainActivity", {
      onMatch: function(instance) {
          var Checker = Java.use("com.ad2001.frida0x7.Checker");
          var instance_checker = Checker.$new(513, 514);

          console.log("Interceptado MainActivity");
          console.log("num1: " + instance_checker.num1.value);
          console.log("num2: " + instance_checker.num2.value);

          // Llamar a la función flag con la instancia modificada
          instance.flag(instance_checker);
      },
      onComplete: function() {}
  });
});



Este el codigo que yo use pero en la solución hay otro que es mas practico pero este igual funciona.



En la solucion aplican una forma mas optima en la cual esta Hookeando directo el constructor y lo hace muy parecido a como si lo hiciéramos a un metodo pero en este caso se usa el $init 


Java.perform(function() {
  var a =  Java.use("com.ad2001.frida0x7.Checker");
  a.$init.implementation = function(param){
    this.$init(600, 600);
  }
});






Comentarios

Entradas populares