Páginas

anun1

viernes, 26 de junio de 2026

Solucion al Crackme 7 de la pagina Rogerfm.Net

Hola amigos hoy veremos la solución del reto 7 de la página rogerfm.net, este reto hace tiempo lo había resuelto y ahora lo traigo de nuevo.

aquí una foto del reto



Este reto primeramente lee un valor desde el registro, si estas en una máquina de 32 bits el valor de registro será este

HKEY_LOCAL_MACHINE\SOFTWARE\A Challenge for Newbies

y dentro de este la clave REG_SZ llamado password   tenemos que encontrar el valor de esa clave 

y si estás usando una máquina de 64bits la ruta es

HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\A Challenge for Newbies 

Con los mismos valores... Bueno la clave a encontrar y que se guarda en el registro en la ruta mencionada anteriormente es de 8 dígitos y se divide en partes.

La primera es que se suma cada dígito por su valor ASCII y el resultado lo multiplica por su posición y el resultado tiene que ser igual a 4684666

Nota: estamos en JavaScript, y este lenguaje lees desde la posición 0 o sea el dígito 0.... Pero en vez de empezar desde el dígito 0 empezaremos desde el dígito 1 o posición 1...

después toma los dígitos  5 y 4 y resta digito 5 - dígitos - 1

después toma los dígitos  4 y 2 y resta digito 4 - digito 2 - 1

después toma los dígitos  2 y 1 y resta digito 2 - digito 1 - 2

después toma los dígitos  1 y 6 y resta digito 1 - digito 6 - 7

después toma los dígitos  6 y 7 y resta digito 6 - digito 7 - 2

después toma los dígitos  7 y 8 y resta digito 7 - digito 8 - 2

después toma los digitos  8 y 3 y resta digito 8 - digito 3 - 0

como pueden ver es por fuerza bruta como el anterior así que yo hice un fuerza bruta, pero ami manera y es calando dígito por dígito y nos va diciendo que tan lejos o que tan cerca andamos y nos muestra el valor ASCII de cada dígito y la resta aquí se los dejo.... Nota: a ver si le entienden o yo solo me entiendo y me da pereza explicarlo

<head><title>Brute Force</title>
</head>
<body>
<br><br><br>
<center>
Solo Letras de (e) Hasta (t)<br><br>
<input type="text" id="clave" maxlength="8" style="width:150;height:40;font-size:25;text-align:center;"><br><br>
<input type="button" value="Manual" onclick="calcular()">
<br><br>
<div id="eti1" style="background:#FA0404;width:500;">Valor a encontrar es 4684666 ----></div><br>
<div id="eti2" style="background:#FA0404;width:500;"></div><br>
<div id="eti3" style="background:#FA0404;width:500;"></div><br>
<div id="eti4" style="background:#FA0404;width:500;"></div><br>
<div id="eti5" style="background:#FA0404;width:500;"></div><br>
<div id="eti6" style="background:#FA0404;width:500;"></div><br>
<div id="eti7" style="background:#FA0404;width:500;"></div><br>
<div id="eti8" style="background:#FA0404;width:500;"></div><br>
</center>
<script>
function calcular()
{
   let pass,x,d1,d2,s,sum=0;

   pass=document.getElementById("clave").value;
   
   if(pass.length==8)
   {
      for(x=7;x>=0;x--)
      {
         digi=pass[x];
	 sum=(sum + digi.charCodeAt(0)) * (x + 1);
      }
      
      document.getElementById("eti1").innerHTML="Valor a encontrar es 4684666 ----> " + sum;
      if(sum==4684666)
      {	  
         document.getElementById("eti1").style.background="#2FF807"; //verde  
      }
      else
      {
         document.getElementById("eti1").style.background="#FA0404"; //rojo
      }
      
      d1 = pass[4];
      d2 = pass[3];
      s  = d1.charCodeAt(0) - d2.charCodeAt(0) - 1;
      document.getElementById("eti2").innerHTML= "digitos 5 y 4_____" + d1 + " - " + d2 + "_____" + d1.charCodeAt(0) + " - " + d2.charCodeAt(0) + " - 1 = " + s + "  igual a cero";   
      if(s == 0)
      {
         document.getElementById("eti2").style.background="#2FF807";  
      }
      else
      {
         document.getElementById("eti2").style.background="#FA0404";
      }
      
      d1 = pass[3];
      d2 = pass[1];
      s  = d1.charCodeAt(0) - d2.charCodeAt(0) - 1;
      document.getElementById("eti3").innerHTML= "digitos 4 y 2_____" + d1 + " - " + d2 + "_____" + d1.charCodeAt(0) + " - " + d2.charCodeAt(0) + " - 1 = " + s + "  igual a cero";  
      if(s == 0)
      {
         document.getElementById("eti3").style.background="#2FF807";  
      }
      else
      {
         document.getElementById("eti3").style.background="#FA0404";
      }      
      
      d1 = pass[1];
      d2 = pass[0];
      s  = d1.charCodeAt(0) - d2.charCodeAt(0) - 2;
      document.getElementById("eti4").innerHTML= "digitos 2 y 1_____" + d1 + " - " + d2 + "_____" + d1.charCodeAt(0) + " - " + d2.charCodeAt(0) + " - 2 = " + s + "  igual a cero";  
      if(s == 0)
      {
         document.getElementById("eti4").style.background="#2FF807";  
      }
      else
      {
         document.getElementById("eti4").style.background="#FA0404";
      }
	  
      d1 = pass[0];
      d2 = pass[5];
      s  = d1.charCodeAt(0) - d2.charCodeAt(0) - 7;
      document.getElementById("eti5").innerHTML= "digitos 1 y 6_____" + d1 + " - " + d2 + "_____" + d1.charCodeAt(0) + " - " + d2.charCodeAt(0) + " - 7 = " + s + "  igual a cero"; 
      if(s == 0)
      {
         document.getElementById("eti5").style.background="#2FF807";  
      }
      else
      {
         document.getElementById("eti5").style.background="#FA0404";
      }
	  
      d1 = pass[5];
      d2 = pass[6];
      s  = d1.charCodeAt(0) - d2.charCodeAt(0) - 2;
      document.getElementById("eti6").innerHTML= "digitos 6 y 7_____" + d1 + " - " + d2 + "_____" + d1.charCodeAt(0) + " - " + d2.charCodeAt(0) + " - 2 = " + s + "  igual a cero";  
      if(s == 0)
      {
         document.getElementById("eti6").style.background="#2FF807";  
      }
      else
      {
         document.getElementById("eti6").style.background="#FA0404";
      }
	  
      d1 = pass[6];
      d2 = pass[7];
      s  = d1.charCodeAt(0) - d2.charCodeAt(0) - 2
      document.getElementById("eti7").innerHTML= "digitos 7 y 8_____" + d1 + " - " + d2 + "_____" + d1.charCodeAt(0) + " - " + d2.charCodeAt(0) + " - 2 = " + s + "  igual a cero";  
      if(s == 0)
      {
         document.getElementById("eti7").style.background="#2FF807";  
      }
      else
      {
         document.getElementById("eti7").style.background="#FA0404";
      }
	  
      d1 = pass[7];
      d2 = pass[2];
      s  = d1.charCodeAt(0) - d2.charCodeAt(0)
      document.getElementById("eti8").innerHTML= "digitos 8 y 3_____" + d1 + " - " + d2 + "_____" + d1.charCodeAt(0) + " - " + d2.charCodeAt(0) + " = " + s + "  igual a cero";  
      if(s == 0)
      {
         document.getElementById("eti8").style.background="#2FF807";  
      }
      else
      {
         document.getElementById("eti8").style.background="#FA0404";
      }
   }
}
</script>
</body>
</html>

aquí les dejo una foto

Así que ingresamos 8 dígitos y damos clic al botón y vamos calando letra por letra y hay nos muestra que dígitos está comparando y con cuanto nos hemos pasado en su valor negativo o positivo y cuando le atines se pondrá en verde

El valor que encontraremos sera prestige y verificamos en el programa de fuerza bruta 


ahora lo aguardamos en el registro


Como nos sigue marcando error y no muestra el cartelito correcto así que ingresamos el valor 12345678 en el cuadro de texto y vemos que es comparado los primeros 4 dígitos por 61736964 y después los otros 4 por 72657473 así que juntamos los números así  72657473  61736964 y nos vamos a una página para pasarlos de hexadecimal a texto y nos da esto


Como vemos nos da la palabra retsasid, pero la voltearemos porque el depurador x64dbg los lee al revés y nos queda la palabra disaster

luego ingresamos ese valor al crackme y nos arroja esto


Bueno creo que eso es todo espero les guste saludos Flamer


No hay comentarios.:

Publicar un comentario