Páginas

anun1

jueves, 20 de agosto de 2026

Solucion al Crackme 1 De Hendrix Reto WarZone Del Foro.ElHacker.Net

Hola amigos hoy veremos la solución al crackme 1 de hendrix, sin más que decir aquí les dejo una foto del reto

 


Bueno ahora le pasamos el Exeinfo PE para ver que nos dice y esto nos arroja


Nos dice que está empacado con upx así que nos vamos a la consola y a escribir "upx -d" para ver que nos dice


Valla nos arroja error esto quiere decir que han modificado algo, no nos queda otra que desempacar a mano, así que nos vamos al depurador x32dbg y nos muestra la palabra pushad así que solo presionamos, solo una vez F8, solo una vez y revisamos el registro ESP y asemos lo siguiente


Clic derecho y seleccionamos mostrar en el volcado  y hay se mostró esto


Hay nos muestra la dirección del Original Entry Point (OEP) asi que le ponemos un breakpoint en esa dirección y presionamos F9 y después nos vamos solo con F8 hasta llegar al main o que se muestre esto


Ahora lo vamos a dumpear de memoria para eso usamos Scylla y damos clic en


Y al presionar Fix Dump seleccionamos el archivo Dump que se creó así


Y nos crea un archivo llamado "Crackme1_dump_SCY.exe" y pues ya lo podemos abrir con el x32dbg y ya lo podemos tracear..... Bueno para empezar este crackme toma el nombre que ingresamos y calcula su longitud o sea el número de dígitos y los multiplica por 2 yo ingrese el nombre "polo" tiene 4 dígitos multiplicado por 2 son 8... Luego compara ese resultado 8 por la longitud de el serial que ingresamos yo ingrese "123456"

                                       

Como ven esa es la zona que les digo así que ingresaremos "polo" y como serial "12345678" y vemos que si pasa, ahora nos vamos hasta la dirección 00402774 donde vemos que toma los 2 primeros dígitos del serial  "12" y más abajo una intrusión de multiplicación


En la primera multiplicación lo hace por 56 

(49*56=2744)  después el resultado lo multiplica por el valor ASCII de 2 que es 50

(50*2744=137200) ese es el resultado...y más abajo vemos una intrusión de división
(137200 / 255=538) y sobran 10 o sea A en hexadecimal


Después multiplica el valor ASCII de "p" de "polo" por 2 y es E0 y el resultado es comparado por A
70 * 2= E0



Como vemos toma de 2 dígitos del serial y los multiplica el primero por 56 y después el resultado por el segundo digito y luego los divide por 255 y el residuo lo compara por el primer digito de el nombre por 2 y luego toma el "34" del serial y multiplica el valor ASCII del 3 que es 51 * 56 y el resultado por el valor ASCII de  el 4 que es 52 para después dividirlo entre 255 y el residuo lo compara por el valor ASCII de "o" de el nombre "polo" que es

111 * 2 = 222 y así sucesivamente con todos los dígitos del serial y con los dígitos del nombre.... Bueno espero me hayan entendido aquí les dejo el keygen

<html>
<head>
<title>Keygen Crackme 1 De Hendrix  ...:::Flamer:::...</title>
</head>
<body bgcolor="black">
<center>
<marquee style="font-size:30;color:yellow;">Generador De Claves Del Crackme 1 De Hendrix ...:::By Flamer:::...</marquee><br><br>

<label style="color:white;">Nombre:&nbsp&nbsp&nbsp</label>
<input type="text" id="nom" size='50' style="background-color:Gray;color:white;text-align:center;">
<input type="button" value="Copy" onclick="copiar1()"><br><br>

<label style="color:white;">Serial:&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp</label>
<input type="text" id="pass" size='50' style="background-color:Gray;color:white;text-align:center;">
<input type="button" value="Copy" onclick="copiar2()"><br><br>

<input type="button"  value="Generar" onclick="genera()" id="boton1">
<input type="button"  value="Automatico" onclick="auto()" id="boton2">
<input type="button"  value="Limpiar" onclick="limpia()" id="boton3">
</center>
<script>
let tiempo;
function copiar1() 
{
   let c=document.getElementById('nom'); 
   c.select();
   document.execCommand('copy');
}
//==================================================================================
function copiar2() 
{
   let c=document.getElementById('pass'); 
   c.select();
   document.execCommand('copy');
}
//==================================================================================
function limpia()
{
   document.getElementById("nom").value="";
   document.getElementById("pass").value="";
}
//==================================================================================
function auto()
{
   if(document.getElementById("boton2").value=="Automatico")
   {
      document.getElementById("boton2").value="Detener";
	  document.getElementById("boton1").disabled=true;
	  document.getElementById("boton3").disabled=true;
	  corre();
   }
   else
   {
      document.getElementById("boton2").value="Automatico";
	  document.getElementById("boton1").disabled=false;
	  document.getElementById("boton3").disabled=false;
	  clearTimeout(tiempo);
   }
}
//==================================================================================
function corre()
{
   let cadena="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";
   let x,posi,nombre="";
   let largo=parseInt(Math.random() * (20 - 1) + 1);
   
   for(x=0;x<largo;x++)
   {
      posi=parseInt(Math.random() * ((cadena.length - 1) - 0) + 0);
	  nombre+=cadena[posi];
   }
   document.getElementById("nom").value=nombre;
   genera();
   tiempo=setTimeout("corre()",10);
}
//==================================================================================
function genera()
{
   let x,digito,pass="",p;
   let nom=document.getElementById("nom").value;
   
    
   for(x=0;x<nom.length;x++)
   {
      digito=nom[x].charCodeAt(0);
	  digito=digito * 2;
	  p=ciclo(digito);
	  if(p==0) 
	  {
	     pass="";
	     break;
	  }
      else 
      {
	     pass+=p;
      }	  
   }
   document.getElementById("pass").value=pass;
}
//==================================================================================
function ciclo(digito)
{
   let x,y,p;
   for(x=33;x<=122;x++)
   {
      for(y=33;y<=122;y++)
	  {
	     p=((x*56) * y) % 255;
         if(p==digito)
         {
		    return String.fromCharCode(x) + String.fromCharCode(y);
         }		 
	  }
   }
   alert("Error El Nombre No Tiene Password De Solucion");
   clearTimeout(tiempo);
   return 0;
}
</script>
</body>
</html>

Aqui una foto del keygen


Ahora ingresamos la palabra "polon" y la contraseña y nos muestra esto



Bueno amigo creo que eso es todo espero les haya gustado saludo Flamer

No hay comentarios.:

Publicar un comentario