HackDef 2017 Quals Round - Reversing 100

By Esimios4ever - ESIME Culhuacan 

Download Magia here.

Se utilizó el software .NET Reflector 9 para des-compilar el binario, se identificó el callback del botón que aparece en el Form y básicamente se detectó que se comparaba la entrada por teclado en el TextBox con la cadena resultado de la función xorIt, si lo introducido corresponde con la bandera, simplemente sale un MessageBox con la bandera en el formato que espera la plataforma del hackdef.


  
Figura 1 - Decompilacion de binario


La función xorIt (ver Figura 2) produce una cadena de la longitud de su segundo argumento input y va realizando la operación XOR de ese argumento con el argumento key, pero como key puede tener una longitud diferente a input, para indexar key se usa un módulo del índice actual contra la longitud de key y de esa forma se evita un IndexOutOfBounds


Figura 2 - XorIt function



Al final la operación realizada es “rw}zXb\wv_p” XOR “16161616161” = “CALLiTmAGiA”. 
Se usó esta herramienta online para hacer la operación: http://xor.pw/? como se muestra en la Figura 3.

 
 Figura 3 - XOR Tool Online

Se procede finalmente a introducir dicho texto en la aplicacion y obtenemos la bandera como muestra la Figura 4:
Figura 4 - Obteniendo la bandera
 

Comments