Páginas

martes, 10 de noviembre de 2026

Solucion al Crackme 0.2 De Lafarge's

Hola amigos hoy veremos la solución al crackme de lafarge's el número 0.2, ya que también está la versión 2, pero este tiene un cero por delante así que este es


Asi que primero lo abrimos con el x32dbg y buscamos en las string y vemos lo siguiente


Asi que damos doble clic y nos manda a esta zona


Como podemos ver en esa parte se genera el serial así que nos iremos hasta la línea 00401151 donde se encuentra una comparación donde pregunta si el nombre que ingresamos es mayor a 3 dígitos, ya que unas líneas arriba tomo el nombre que ingresamos con la API GetDlgItem en la línea 0040113D y ponemos un breakpoint en esa línea.... Asi que lo ejecutamos e ingresamos como nombre "polon" y como serial "123456", ya que hemos ingresado nuestro nombre mayor a 3 dígitos nos iremos traceando hasta la línea 004011EC donde xorea cada dígito del nombre con estos valores

5F 72 20 3C 28 29 3C 31 2D 5A 32 5B 6C 35 2C 5E


Como podemos ver toma el primer dígito del nombre lo xorea con 5F y después el valor es aguardado en el registro EAX y luego es dividido entre 19 en hexadecimal que en decimal es 25


Y toma el residuo para después sumarle 41 en hexadecimal que en decimal es 65

Y el resultado se almacena en memoria, luego toma el segundo dígito, lo xorea y el resultado lo divide por 19 para después el resultado le suma 41 al residuo y si el nombre tiene 5 dígitos cuando llegue al último dígito vuelve al primer dígito del nombre y hace lo mismo, pero sigue con el xoreo del los valores de arriba con estos que son los mismos

5F 72 20 3C 28 29 3C 31 2D 5A 32 5B 6C 35 2C 5E

Sale del ciclo hasta que xorea por 5E que es el último valor, líneas más abajo el resultado lo divide en 4 partes con 3 guiones con una distancia de 4 dígitos de por medio si  el resultado fue

AAAAAAAAAAAAAAAA

Lo divide asi

AAAA-AAAA-AAAA-AAAA

En 4 partes con 3 güines.... Esto lo hace en las líneas 0040120C,   00401220,    00401234

luego vemos que en la línea 00401285 compara el serial que ingresamos por este


Aqui mi codigo del keygen

<html>
<head>
<title>Keygen Crackme 0.2 De Lafarge's  ...:::Flamer:::...</title>
</head>
<body bgcolor="black">
<center>
<marquee style="font-size:30;color:yellow;">Keygen Crackme 0.2 De Lafarge's  ...:::Flamer:::...</marquee><br><br>
<label style="color:white;">Nombre:</label>
<input type="text" id="nom" size='40' style="background-color:Gray;color:white;text-align:center;" maxlength="15">
<input type="button" value="Copy" onclick="copiar1()">
<br><br>
<label style="color:white;">Serial:</label>
<input type="text" id="pass" size='60' 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()">
</center>
<script>
function copiar1() 
{
   let c=document.getElementById('nom'); 
   navigator.clipboard.writeText(c.value);
}
function copiar2() 
{
   let c=document.getElementById('pass'); 
   navigator.clipboard.writeText(c.value);
}
//==================================================================================
function genera()
{ 
   const constante=new Array(95,114,32,60,40,41,60,49,45,90,50,91,108,53,44,94);//5F 72 20 3C 28 29 3C 31 2D 5A 32 5B 6C 35 2C 5E
   const separa=new Array(3,7,11);
   let n=document.getElementById("nom").value;
   let x,digi,c=0,xore,clave="",cc=0;;
   
   if(n.length>3 && n.length<16)
   {
      for(x=0;x<constante.length;x++)
      {
         digi=n[c].charCodeAt(0);
	     xore=digi ^ constante[x];
	     xore=xore % 25;
	     xore=xore + 65;
	     clave+=String.fromCharCode(xore);
	     c++;
	     if(c==n.length)
	     {
	        c=0;
	     }
	     if(x==separa[cc])
	     {
	        clave+="-";
                cc++;		 
	     }
      }
   
      document.getElementById("pass").value= clave.toUpperCase();
  }
  else
  {
     alert("Error Numero De Digitos Incorrecto, Minimo 4 y Maximo 15");
  }
}
</script>
</body>
</html>

Aqui una foto de el keygen


Asi que ingresamos ese valor y nos arroja este mensaje


Bueno eso es todo saludos Flamer y espero les guste

domingo, 8 de noviembre de 2026

Solucion al Crackme De Devast8a

Hola amigos hoy veremos el crackme de devast8a este fue publicado en crackmes.de en  23. Dec, 2008 aquí una foto


Como podemos ver parece que la clave tiene 55 dígitos, así que lo abrimos con el x32dbg y nos vamos a los string y nos muestra esto


Y hay podemos ver el mensaje correcto así que damos clic en él y nos lleva a esta zona


Así que ponemos un breakpoint cerca de esa zona como lo muestra la imagen para después ejecutarlo con F9 y poner como serial "123456" y nos detenemos donde le indicamos, acto seguido nos vamos traceando con F8 y pasando el xor de la línea 00A81143 damos clic derecho a la dirección así como en la imagen


Y vemos lo siguiente en el DUMP 


Acto seguido si seguimos traceando con F8 y al pararnos en la dirección 00A81147 vemos que los datos que están en el DUMP van cambiando así que seguimos para ver qué valor queda aquí les muestro lo que queda


Hay podemos ver la frase que se formó es "Waxing my car will not result in expert karate training" y si seguimos traceando en la línea 00A81156 vemos que compara el primer dígito del serial que ingrese que es "123456" así que no queda duda el serial es la frase de arriba así que lo reiniciamos y la ingresamos

y nos muestra esto


Por otra parte, también lo probé con IDA pro y el código que me muestra es este

int __cdecl main(int argc, const char **argv, const char **envp)
{
  int i; // eax
  char v5[56]; // [esp+4h] [ebp-BCh] BYREF
  char v6[128]; // [esp+3Ch] [ebp-84h] BYREF

  v5[0] = 45;
  v5[1] = 27;
  v5[2] = 2;
  v5[3] = 19;
  v5[4] = 20;
  v5[5] = 29;
  v5[6] = 90;
  v5[7] = 23;
  v5[8] = 3;
  v5[9] = 90;
  v5[10] = 25;
  v5[11] = 27;
  v5[12] = 8;
  v5[13] = 90;
  v5[14] = 13;
  v5[15] = 19;
  v5[16] = 22;
  v5[17] = 22;
  v5[18] = 90;
  v5[19] = 20;
  v5[20] = 21;
  v5[21] = 14;
  v5[22] = 90;
  v5[23] = 8;
  v5[24] = 31;
  v5[25] = 9;
  v5[26] = 15;
  v5[27] = 22;
  v5[28] = 14;
  v5[29] = 90;
  v5[30] = 19;
  v5[31] = 20;
  v5[32] = 90;
  v5[33] = 31;
  v5[34] = 2;
  v5[35] = 10;
  v5[36] = 31;
  v5[37] = 8;
  v5[38] = 14;
  v5[39] = 90;
  v5[40] = 17;
  v5[41] = 27;
  v5[42] = 8;
  v5[43] = 27;
  v5[44] = 14;
  v5[45] = 31;
  v5[46] = 90;
  v5[47] = 14;
  v5[48] = 8;
  v5[49] = 27;
  v5[50] = 19;
  v5[51] = 20;
  v5[52] = 19;
  v5[53] = 20;
  v5[54] = 29;
  v5[55] = 0;
  printf(Format: "HINT: The password is %d letters long\n", 55);
  printf(Format: "Enter Password: ");
  gets(a1: v6);
  for ( i = 0; i < 55; ++i )
    v5[i] ^= 0x7Au;
  if ( !strcmp(v6, v5) )
    printf(Format: "Congrats you have got the password\n");
  else
    printf(Format: "Sorry, The password was incorrect\n");
  system(Command: "pause");
  return 0;
}

Bueno creo que eso es todo saludos Flamer

sábado, 7 de noviembre de 2026

Solucion Como Pescar Un Serial En El Crackme 1 De Skirby

Hola amigos hoy veremos como atrapar un serial para nuestro nick en el crackme de Skirby, para los que no sepan el crackme es el de este hilo


Como ven yo encontré el serial para mi nick, como lo digo en ese hilo es algo sencillo y verán que no soy un profecional, ya que les diga como lo hice, otra cosa el crackme es de nivel 4 y no por eso voy a saber tanto como piensan y por otra cosa el crackme es muy viejo a como pude ver se publicó en la página de beatrix y en crackmes.de en el año 2008 y en reddit también fue publicado



Bueno a darle primero lo abrimos con x32dbg e ingresamos nombre y serial yo pondré "Flamer" y como serial "0123456789" aquí la foto
  


Ahora nos iremos a buscar las string y vemos el serial que ingresamos este


Bueno y si les quedan dudas y para estar seguros quieren probar otro serial mas efectivo ingresamos el serial "5555555555555555555555555555555555" y nos muestra esto


Como pueden ver esa línea es la correcta, ya que nos muestra el serial que ingresamos así que damos doble clic a ver donde nos lleva y nos dirige hasta aquí



Como podemos ver hay se muestra 2 valores o 2 string que se muestran el serial que ingresamos y otro... y podemos ver que tiene 10 dígitos, así que yo ingresare de nuevo "0123456789" y a ver que pasa


Como podemos ver si vamos cambiando digito por dígito el serial va cambiando hasta que concuerde o sea igual al de arriba ejemplo este es el serial que me muestra al ingresar "0123456789"

"1035649161"
"012=45:787"

Asi que cambiamos el primer valor, el cero a 1 y me muestra esto

"1035649161"
"?12=45:787"

Así que iré probando seriales dígito por dígito hasta dar con el que sea igual al de arriba y el primer digito la O y el segundo digito no cambia si lo modifico así que pongo el valor que me muestra arriba es el 0 y así sucesivamente es ir probando dígitos hasta que concuerden y un dato que nos dio el usuario que presento el crackme es que el serial está separado por guiones "-" así que ingresaré el guion quedando así



Bueno como pudimos ver la primer parte del serial está en la línea 00401494, la segunda esta en la línea 00401687 aqui una foto 


la tercera está en la línea 00401812 y es igual es ir probando los dígitos del serial


Otra cosa hay veces que el serial ingresado es similar al de arriba y no muestra el cartelito correcto así que si está complicado y para la última parte es una constante siempre será el valor 4BE708B1, pero creo que mejor quieren como lo hice pues bueno en este momento no he podido con el depurador x32dbg por los hilos que no me dejan tracear, pero la primera vez que lo logre fue con el x32dbg, pero como no puedo seme hizo más fácil ahora hacerlo con IDA aquí lo explico.... Asi que lo abrimos con IDA y nos muestra esto


Como ven yo aquí ya lo tengo si ustedes no lo tienen tendrán que presionar el botón New y buscar su ubicación en su PC y después parece esto


Ahora damos OK  y nos muestra esto


Después de esto presionamos la letra G y ponemos la dirección 00401943 que es donde se encuentra la parte donde se genera esa última parte del código y lo ponemos


Y nos muestra la siguiente zona


Acto seguido presionamos F5 y damos que si al mensaje que aparece y nos mostrara el código un poco más entendible como en c++ esto
 

Así como pueden ver el código se encuentra más entendible, así que yo analice el código y para hacerlo más simple aquí les dejo el código un poco más sencillo para que analicen como funciona

v24=string ^ 0x44950FB1
v25=v24 & 0x3E0000
if((v24 & 0x3E0000)==0x320000) 
{
   v25 = v24 & 0xFC00000;
   if ( (v24 & 0xFC00000) == 0xF400000 )
   {
      v25 = v24 & 0x1FFE0
      if ( v25 == 1792 )  //El valor 1792 esta en decimal asi que en Hexadecimal es 700 
      {
          alert("correcto") //Yo agregue esto no aparece en IDA jajaja
      }
   }
}

Así que para encontrar el valor es así:

F400000 and FC00000  = F400000 

F400000 xor 44950FB1= 4BD50FB1

4BD50FB1 xor 320000 = 4BE70FB1

4BE70FB1 xor 700   =  4BE708B1

Asi que la clave para Flamer es: 

O03K64716O-CME3CECCMT-H328Y7N8F2-4BE708B1

Y nos muestra el siguiente mensaje


Bueno creo que es todo por hoy espero les haya gustado saludos Flamer y ven que no soy un experto así fue como encontré el serial esa vez, pero si les adelanto que el keygen lo estoy haciendo lo que llevo es la primera parte del serial, pero como meda flojera lo dejo y cuando tengo tiempo vuelvo a el en fin bay


miércoles, 4 de noviembre de 2026

Solucion al Crackme 6 De Enigmagroup

Hola amigos hoy veremos la solución del crackme 6 de la página de enigmagroup, aclaro este crackme lo resolví cuando estaba la página activa, hoy que lo resolví me dio otro resultado y pienso es porque la página ya no está activa, también aclaro no soy experto y solo me conformo sacando el mensaje correcto y creo que no encontré la clave que había encontrado al principio y es porque creo que el crackme se conectaba a la página bueno empecemos ya ustedes verán... Al ejecutarlo nos aparece este mensaje


Asi que descargamos el archivo MSinet.ocx y lo aguardamos en la carpeta "SysWOW64" ya que es de 64 bits nuestro sistema y lo registramos con el comando

regsvr32 C:\Windows\SysWOW64\msinet.ocx

Aclaro el CMD lo tenemos que abrir como administrador y si su sistema es de 32 bits se aguarda en la carpeta "System32"....despues de esto nos arroja el cartelito de registro exitoso, ahora ya podemos ejecutar el crackme y es este


Así que pasamos abrirlo con el x32dbg y al presionar F9 e ingresar el nombre y serial nos arroja este error


Así que nos iremos a módulos y buscaremos la API que compara y es esta vbaStrCmp y nos muestra esto y ponemos un breakpoint


Así que damos clic y nos manda a esta zona


Así que nos iremos más arriba donde genera el error, nos iremos hasta la línea 004030B6 y ponemos un breakpoint y lo ejecutamos pondremos como nombre "polon" y serial "123456" y si nos fijamos más arriba como que manda llamar un archivo


Creo que por eso da error porque el archivo ya no está en línea así que para validar el programa modificaremos las líneas 0040310B y 00403155 le pondremos MOV EDI,0 


Ya que le pusimos 0 nos iremos traceando hasta la línea 00403210 y nos muestra esto


Hay podemos ver con que compara con "error code" y mas adelante nos muestra esto

 

Asi que en los 2 campos ponemos ese valor y nos arroja esto


No se si esto cuenta como solución, pero es la que yo encontré y la primera vez que lo solucione los seriales eran Nombre= "Controller" y Serial= "verify1337"

Bueno espero les haya gustado saludos flamer

martes, 3 de noviembre de 2026

Solucion al Crackme MyCrackIt De Devastator

Hola amigos hoy veremos el crackme de devastador es algo sencillo, pero entretenido bueno para pasar el rato aquí una foto de la víctima


Asi que primero buscamos las string y nos muestra esto


Asi que damos clic en el mensaje well done que quiere decir bien hecho y nos muestra esto


Como podemos ver cuando llegue al mensaje correcto no veo que mande llamar la API MessageBoxA asi que ojo con ese dato no se muestra como cuando se ejecuta el mensaje incorrecto, despues de mostrar el mensaje correcto salta para mandar llamar la API EndDialog que cierra el programa...asi que nos vamos mas arriba para ver que nos muestra y en la linea 004010E0 vemos el salto decisivo, es el que nos manda al cartelito correcto y el incorrecto asi que nos iremos mas arriba en la linea 00401044 y ponemos un breakpoint


Ahora pasaremos a ejecutarlo y pondré lo siguiente


Y se detiene justo donde le indicamos así que nos vamos traceando y vemos que hace una resta en la línea 00401082 resta el valor que ingresamos en el primer cuadro de texto con 200E4


Así que para que EAX valga D  tiene que se 200E4 + D = 200F1  como se mira arriba el número a ingresar tiene que ser 131313 que en hexadecimal es 200F1 asi que lo volvemos ejecutar y seguimos

Nota: yo me guie como arriba en la línea  00401064 está un push que contiene D


Y vemos que unas líneas abajo en la línea 004010B3 xorea la palabra que ingresamos "polonesis" con estos valores

24 0B 15 1C 13 0A 04 36 06 17 2F 64 64


El resultado se aguarda en el dump aquí


Y seguimos traceando y con F8 y en la línea  004010D3 vemos que carga la cadena resultante del xoreo con un PUSH lo carga a la pila creo que lo usara en la API GetProcAddress y si es la correcta no salta en el la instrucción JE y creo que es la API MessageBoxA ya que esa es la que no se mira en el CALL mas abajo en la línea 0040116A y así que para ingresar MessageBoxA lo tenemos que convertir a hexadecimal y luego xorearlos 

MessageBoxA = 4D 65 73 73 61 67 65 42 6F 78 41

XOR

                          24 0B 15 1C 13 0A 04 36 06 17 2F 

--------------------------------------------------------------------------

 information     69 6E 66 6F 72 6D 61 74 69 6F 6E

Y si ingresamos esos valores nos arroja esto


OJO: tiene que ser una API de la librería USER32.DLL y con 11 digitos......yo intente con la API AppendMenuA y si entra no salta en la línea 004010E0, pero no muestra el mensaje, ya que esa API no se encarga de eso

Bueno saludos Flamer