Páginas

anun1

jueves, 16 de julio de 2026

Solucion De Un Crackme Random 0

Hola amigos hoy veremos un crackme sencillo solo que esta vez no sé quien es el autor por esa razón le puse random y cero porque es el primero que no se su nombre y si después me encuentro con otro crackme igual donde no sepa su nombre le pondré random 1 y así sucesivamente.... Bueno empecemos

aquí una foto del reto


Como dice el formato la contraseña o serial tiene que ser de 3 partes divididos por guiones lo que nos da un total de 14 dígitos de longitud si tiene más dígitos el serial el crackme se cierra o marca error.

Bueno y si se preguntan que hace el crackme pues deja les digo toma el nombre de el usuario de Windows actual y suma sus dígitos después toma el nombre de la PC y hace los mismos los suma y por último toma el pid de su proceso este tiene que ser menor o igual a 4 dígitos porque si su pid es 12345 el crackme no nos mandara el cartelito correcto... Por otro lado su pid es 123 el keygen que le hice le agrega un cero al principio y quedaría así 0123.

Bueno si quieren saber el nombre de usuario solo abran el cmd y tecleen lo siguiente:

echo %USERNAME%

Y les mostrara el nombre de usuario de Windows actual, ahora si quieren el nombre de la PC solo teclean: 

echo %COMPUTERNAME%

Ahora aquí les dejó el creador de claves para este reto o keygen, no necesitan hacer lo de arriba el keygen lo hace por ustedes solo dije lo de arriba como dato extra

<html>
<head>
<title>Generador De Claves</title>
<style>
.textbox
{
   background-color:black;
   color:lime;
   border-radius:8px;
   border:2px solid;
   height:30px;
   width:300px;
   text-align:center;
   font-size:15px;
}
.textbox:hover
{
   border-color: white;
}
.mark
{
   color:lime;
   font-size:35px;
}
.boton
{
   background-color:black;
   color:lime;
   border-radius:8px;
   border:2px solid;
   height:30px;
   width:100px;
}
.boton:hover
{
   border-color: white;
}
</style>
</head>
<body bgcolor="black">
<marquee class="mark">Keygen Crackme Random   ...:::By Flamer:::...</marquee><br>
<br><br>
<center>
<input type="file" id="exe" style="width:400px;" class="textbox">
<br><br>
<input type="text" id="pass" placeholder="Serial" class="textbox">
<input type="button" value="Copiar" onclick="copiar()" class="boton">
<br><br>
<input type="button" value="Generar" onclick="generar()" class="boton">
</center> 
<script>
function copiar()
{
    var c = document.getElementById("pass");
    window.clipboardData.setData("Text", c.value);
}
function generar()
{
    var net, fso,locator, wmi,procesos,e,proceso,archivo,usuario,suma1,suma2,computa;
    var pid=0,p="";

    try
    {
        net = new ActiveXObject("WScript.Network");
        fso = new ActiveXObject("Scripting.FileSystemObject");

        usuario = net.UserName;
        computa = net.ComputerName;

        archivo = fso.GetFile(document.getElementById("exe").value);

        locator = new ActiveXObject("WbemScripting.SWbemLocator");
        wmi = locator.ConnectServer(".", "root\\cimv2");

        procesos = wmi.ExecQuery("SELECT ProcessId, CommandLine FROM Win32_Process WHERE Name='" + archivo.Name + "'");

        e = new Enumerator(procesos);

        while (!e.atEnd())
        {
            proceso = e.item();

            if (proceso.CommandLine != null)
            {
                if (proceso.CommandLine.toLowerCase().indexOf(archivo.Path.toLowerCase()) != -1)
                {
                    pid = proceso.ProcessId;
                    break;
                }
            }

            e.moveNext();
        }
		
	p=pid.toString();
		
	if(p.length<=4)
	{
	   suma1=sumando(usuario);
           suma2=sumando(computa);
        
	   p=ceros(p);
	   suma1=ceros(suma1);
	   suma2=ceros(suma2);
		
           document.getElementById("pass").value = suma2 + "-" + suma1 + "-" + p;
	}
        else
	{
	   alert("El pid del crackme es mayor a 4 digitos, esto haria que el reto no quedara verificado,cierralo y ejecutalo de nuevo");
	}
    }
    catch (err)
    {
        alert("Error: " + err.description + "\n\nNúmero: " + err.number);
    }
}
function sumando(s)
{
   var x,suma=0,su="";
   for (x=0;x<s.length;x++)
   {
      suma+=s.charCodeAt(x);
   }
   
   su=suma.toString();
     
   return su;
}
function ceros(ss)
{
   var cer="";
   while(ss.length<4)
   {
      cer=cer + "0";
      ss=cer + ss;
   }
   return ss.toString();
}
</script>
</body>
</html>

Bueno si se preguntan por qué hago los keygenes en JavaScript y HTML es porque creo que los keygenes deberían estar en estos lenguajes de texto plano y no compilados, aun que puedo enseñar el código si los hiciera en C++.... pero si por alguna razón no lo tienen instalado el C++, se me hace más básico que mejor copeen y pegan en el bloc de notas y listo pueden probarlos sin necesidad de instalar nada bueno aquí una foto del keygen otra cosa este lo copean y lo pegan y aguardan como "genera.hta" este está con la extensión hta porque no puedo obtener los datos necesarios para generar la clave si estuviera usando el navegador con la extensión HTML


Ahora les digo como funciona, al ejecutarlo damos clic en examinar para buscar la ubicación o carpeta donde tenemos el crackme y lo seleccionamos y también tenemos que ejecutar el reto para que el generador de claves obtenga si pid, el pid es un número que se les da a cada programa que ejecutamos en la computadora para identificarlos en fin, ya que tenemos el crackme corriendo presionamos generar y nos dará la clave ami me dio esta "0439-0531-3296" ahora la pego en el crackme y me arroja lo siguiente


Si les aparece este mensaje solo cierran el crackme y abren de nuevo es porque el pid es mayor a 4 dígitos


En fin creo que eso es todo... Otra cosa no pongo link de descargar de los crackmes y es porque tengo miedo que me quiten el blog, ya que algunos son marcados como infectados o son falsos positivos y tienen que verse desde una máquina virtual... En fin creo que eso es todo saludos flamer

domingo, 12 de julio de 2026

Solucion Al Crackme 1 De DobleCero

Hola amigos hoy veremos el crackme 1 de doblecero, este usuario es del año 2004 lo encontré en el foro y el crackme creo que también... Pero en fin el crackme es algo interesante y divertido algo bueno para quitarse el aburrimiento se puede parchar, pero lo bueno de esto es encontrar un serial válido y de paso hacer el keygen como decía mi amigo PeterPunk.

Bueno pasamos a los hechos este reto solo acepta nombres con la cantidad de 1 a 6 dígitos si se pasa de 6 ya nos manda al cartelito incorrecto y la contraseña solo acepta de números menores a 8 dígitos.

aquí una foto del reto


Ahora ingresamos un nombre y un serial yo pondré como nombre "polon" y como contraseña "123456" y damos clic en registrar y nos lanza lo siguiente


Yo le hice un generador de claves y siempre me arroja la misma clave y con diferente nombre ya lo verán les dejaré el código aquí abajo, yo solo revertí las operaciones, el reto toma el primer dígito y el antepenúltimo del nombre ingresado y toma su valor ASCII y los concatena después hace una serie de operaciones las cuales verán en el código... como siempre se los dejaré en JavaScript y HTML

<html>
<head>
<title>Keygen Crackme 1 De DobleCero</title>
<style>
.textbox
{
   background-color:black;
   color:lime;
   border-radius:8px;
   border:2px solid;
   height:30px;
   width:300px;
   text-align:center;
   font-size:15px;
}
.textbox:hover
{
   border-color: white;
}
.mark
{
   color:lime;
   font-size:35px;
}
.boton
{
   background-color:black;
   color:lime;
   border-radius:8px;
   border:2px solid;
   height:30px;
   width:100px;
}
.boton:hover
{
   border-color: white;
}
</style>
</head>
<body bgcolor="black">
<marquee class="mark">Keygen Crackme 1 De DobleCero   ...:::By Flamer:::...</marquee><br>
<br><br>
<center>
<input type="button" value="Copiar" onclick="copiar1()" class="boton">
<input type="text" id="nom" placeholder="Nombre" class="textbox">
<br><br>
<input type="button" value="Copiar" onclick="copiar2()" class="boton">
<input type="text" id="pass" placeholder="Serial" class="textbox">
<br><br>
<input type="button" value="Generar" onclick="generar()" class="boton">
</center> 
<script>
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 generar()
{
   let nick=document.getElementById("nom").value.toUpperCase(); //toma el nombre ingresado y lo convierte en mayusculas
   let d1,d2,s1,s2,n,eax,ebx,ecx,edx;
   if(nick!="" && nick.length<7)
   {
      d1=nick[0];  //toma el primer digito
      d2=nick.substr(-3,1); //toma el antepenultimo digito
      s1=d1.charCodeAt(0); //convierte el digito a su valor ASCII
      s2=d2.charCodeAt(0); //convierte el digito a su valor ASCII
      n=parseInt(s1.toString() + s2.toString()); //los concatena y se almasena en n
	   
      eax=-200; //inicializa eax en -200
      ecx=0; //inicializa ecx en 0
      edx=0; //incializa edx en 0
      edi=0; //inicializa edi en 0
      ecx=ecx-eax; //ecx se le resta eax
      ecx=ecx+500; //a ecx sele suma 500
      eax=eax+400; //a eax sele suma 400
      ecx=ecx+1000; // se le suma 1000 a ecx
      eax=eax-500;  //a eax sele resta 500
      edx=edx-n;  //a edx se le resta n
      edi=edi-n;  // a edi se le resta n
      edi=edi-edx;  // a edi se le resta edx
      edi=edi+578;  //a edi se le suma 578
      edi=edi+ecx; // a edi se le suma ecx
      ecx=ecx-eax; //a ecx se le resta el valor de eax 
      ecx=ecx+60; //a ecx se le suma 60
      eax=eax+1900; //a eax se le suma 1900
      edx=edx-25698; // edx se le resta 25698
      edi=edi ^ 7; // edi es xoreado con 7
      edi=eax; // edi valdra lo mismo que eax
      ebx=ebx ^ 3; // xorea ebx con 3
      ebx=eax; // ebx valdra lo mismo que eax
      ecx=ecx-170; // ecx sele resta 170
      eax=eax-214; // eax sele resta 214
	    
      document.getElementById("pass").value=ecx.toString() + eax.toString();
   }
   else
   {
      alert("Error Hay Campos Vacios o El Nombre Tiene Mas De 6 Digitos...");
   }
}
</script>
</body>
</html>

Si lo quieren probar solo copean y pegan en el bloc de notas como "generador.html" y lo ejecutan aquí una foto del keygen


Bueno ya tenemos la clave para el nombre "polon" ahora buscamos el reto e ingresamos el nombre "polon" y la clave "18901386" y nos arroja lo siguiente


Si buscan el crackme lo encontraran en el foro el hacker.net...Bueno creo que eso es todo saludos Flamer 


viernes, 3 de julio de 2026

Solucion al Crackme 3 De Cruehead By Flamer

Hola amigos hoy veremos como resolver el crackme 3 de cruehead este es el último de la serie y está más complejo que los anteriores, pero no es la gran cosa se puede reversear, se puede solucionar.

Bueno empecemos este crackme o reto lee un archivo llamado "CRACKME3.KEY" y no es un TXT, sino un archivo con la extensión KEY, en fin este archivo tiene que tener la clave la cual se conforma de 18 dígitos y esta clave es leída cuando se está cargando el crackme y si el crackme corrió y no mostro nada quiere decir que la clave no era la correcta o no tenía los 18 dígitos en fin esta es una foto del reto.


Lo que hace el código de este reto es buscar el archivo antes mencionado en la misma ubicación o misma carpeta donde este el crackme para leerlo y mostrar el cartelito correcto si la clave es la correcta y si no lo es no muestra nada.

Bueno aquí el código en JavaScript y HTML de generación de la clave correcta o mejor dicho el generador del archivo de verificación

<head>
<title>Generador de Claves</title>
</head>
<body bgcolor="black">
<marquee style="color:white;font-size:30;">Keygen Crackme3 Cruehead By ...:::Flamer:::...</marquee><br><br>
<center>
<br><br>
<input type="button" value="Generar Archivo Key" onclick="generator()" style="background-color:Gray;color: white;font-size: 16px;font-size: 50px;border-radius: 10px;border: 2px solid Lime;">
</center>
<script>
function generator()
{
   let fso,x,digi,xo=65,suma=0,pass="";
   let cadena="OPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890";
   let largo=cadena.length;
   let bytesPuros = new Uint8Array(18);
    
   for(x=0;x<14;x++)
   {
     digi=parseInt(Math.random() * (largo-0)+0);
     pass+=cadena[digi];
     bytesPuros[x]=cadena[digi].charCodeAt(0);
   }
   
   for(x=0;x<14;x++)
   {
      digi=pass[x].charCodeAt(0);
      digi=digi ^ xo;
      suma+=digi;
      xo++;
   }
   
   suma=suma ^ 305419896;
   cadena=suma.toString(16);
   largo=14;
   
   for(x=6;x>=0;x-=2)
   {
      digi=cadena.substr(x,2);
      bytesPuros[largo] = parseInt(digi,16);
      largo++;   
   }
 
   const blob = new Blob([bytesPuros], { type: 'application/octet-stream' });
   const enlace = document.createElement('a');
   enlace.href = URL.createObjectURL(blob);
   enlace.download = 'CRACKME3.KEY'; 
   enlace.click();
   URL.revokeObjectURL(enlace.href);   
}
</script>
</body>
</html>

Aqui una foto del generador de claves


Si lo quieren probar el codigo ya saben copean el código y pegan en el bloc de notas y aguardan como genera.html y listo después al ejecutarlo solo cliquean en el botón Generar archivo key esto les dará el archivo a aguardar

Ahora lo explicaré brevemente primero creamos una variable llamada cadena la cual contiene los dígitos que contendrá la contraseña del archivo de verificación, sise fijan empieza desde O mayúscula porque la variable con la que xorearemos será la variable xo y esta empieza desde A y si la clave del archivo empieza desde A y la variable xo también desde A al xorear esta nos dará 0 y eso nos saca del código de generación del serial es por eso que la variable cadena empieza desde O para que el serial no contenga esos caracteres.

Bueno seguimos el primer ciclo crea los primeros 14 dígitos al azar y los almacena en la variable pass y también en la variable bytesPuros pero su valor ASCII

el segundo for toma los 14 dígitos del serial creado al azar en el for anterior y que fueron guardados en la variable pass y son convertidos en su valor ASCII y luego los xorea con la variable xo para después el resultado es sumado y guardado en la variable suma...Nota: esta variable xo aumenta en 1 en cada vuelta si era 65 a la siguiente será 66 y así

después que sale del ciclo el resultado de suma es xoreado con el numero 305419896, para después ser convertido en hexadecimal y aguardado en la variable cadena y el siguiente for toma el resultado que fue guardado en la variable cadena y empieza a tomar los bytes desde el reverso hasta el primer byte... Estos bytes se concatenan con los 14 primeros y como son 4 más 14 son 18 y son los que se aguardan en el archivo KEY

aquí una foto del crackme resuelto

Y aquí una foto del contenido del archivo KEY... Nota: no modifiquen el contenido del archivo, ya que son bytes y si los modifican puede que no funcione



Bueno creo que eso es todo y terminamos con la serie de crackmes de cruehead saludos Flamer


Solucion Del Crackme 2 De Cruehead Por Flamer

Hola amigos hoy veremos el crackme 2 de cruehead es algo muy simple así que este tutorial no será tan extenso bueno empecemos este es el reto


Ahora si solo ingresamos 1 digito sea número, letra mayúscula o minúscula nos arroja este mensaje, así que yo ingreso la letra "a" y esto me muestra


Y listo el reto asido resuelto jajajaja... Bueno eso no es todo ojalá y fuera eso, pero el crackme tiene más y es una palabra que tenemos que encontrar.

Este reto tiene la API GetDlgItemTextA en la dirección 004012C2 que es la encargada de recoger lo que ingresamos.

Asi que ingresamos un serial y este es xoreado con la cadena "Messing_in_bytes" en la línea 004013A9 que en su valor hexadecimal es la siguiente 

4D 65 73 73 69 6E 67 5F 69 6E 5F 62 79 74 65 73    

El resultado tiene que ser igual a lo siguiente en su valor hexadecimal....Nota lo puse en su valor hexadecimal porque tiene caracteres raros

1F 2C 37 36 3B 3D 28 19 3D 26 1A 31 2D 3B 37 3E

Bueno para no ser un programa en javascript y html le pedí ala IA que me los xoreara y esto me dio

ÍndiceCadena 1 (Hex)Cadena 2 (Hex) / ASCIIResultado (Hex)Carácter ASCII
11F4D ('M')52R
22C65 ('e')49I
33773 ('s')44D
43673 ('s')45E
53B69 ('i')52R
63D6E ('n')53S
72867 ('g')4FO
8195F ('_')46F
93D69 ('i')54T
10266E ('n')48H
111A5F ('_')45E
123162 ('b')53S
132D79 ('y')54T
143B74 ('t')4FO
153765 ('e')52R
163E73 ('s')4DM

así que el valor a encontrar es: RIDERSOFTHESTORM

así que ingresamos la palabra clave y el resultado es el siguiente



Bueno creo que eso es todo saludos Flamer