Hola amigos hoy les traigo el generador de claves del crackme del usuario Cokeing es algo sencillo de resolver, pero así es como aprende uno con lo básico aquí una foto del reto
Como vemos pide 2 datos nick y nick transformado, bueno ahora lo abrimos con el x32dbg y primeramente vemos los string o cadenas de texto y nos muestra esto, así que damos doble clic en él
Y continuación nos muestra esto, como ven dimos en el blanco
Así que ponemos un breakpoint en la línea 00401374 y pondré como nick "polon" y en el siguiente campo "123456"
Como vemos convirtió el nick a mayúsculas y toma dígito por dígito del nick y le suma el valor de F que en decimal es 15...así que me fui hasta la línea 004013C9 y mire con que valor compara y mire lo siguiente
Bueno ahora ya saben como se genera el serial así que les dejaré un generador de claves en HTML y JavaScript... Otra cosa como máximo el crackme solo acepta nick de 14 dígitos, aquí el código
<html>
<head>
<title>Keygen Crackme CKG_002 de Cokeing ...:::Flamer:::...</title>
</head>
<body bgcolor="black">
<center>
<marquee style="font-size:30;color:yellow;">Generador De Claves Crackme CKG_002 de Cokeing ...:::By Flamer:::...</marquee><br><br>
<label style="color:white;">Nombre:</label>
<input type="text" id="nom" size='75' style="background-color:Gray;color:white;text-align:center;">
<input type="button" value="Copy" onclick="copiar1()"><br><br>
<label style="color:white;">Serial:</label>
<input type="text" id="pass" size='90' style="background-color:Gray;color:white;text-align:center;">
<input type="button" value="Copy" onclick="copiar2()"><br><br>
<input type="button" value="Generar" onclick="manual()" 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');
navigator.clipboard.writeText(c.value);
}
//==================================================================================
function copiar2()
{
let c=document.getElementById('pass');
navigator.clipboard.writeText(c.value);
}
//==================================================================================
function limpia()
{
document.getElementById("nom").value="";
document.getElementById("pass").value="";
}
//==================================================================================
function corre()
{
let cadena="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
let largo=parseInt(Math.random() * (14 - 1) + 1);
let x,posi,nick="";
for(x=0;x<largo;x++)
{
posi=parseInt(Math.random() * ((cadena.length-1) - 0) + 0);
nick+=cadena[posi];
}
document.getElementById("nom").value=nick;
document.getElementById("pass").value=genera(nick);
tiempo=setTimeout("corre()",10);
}
//==================================================================================
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 genera(nombre)
{
let x,digi,clave="";
nombre=nombre.toUpperCase();
for(x=0;x<nombre.length;x++)
{
digi=nombre[x].charCodeAt(0);
digi=digi + 15;
clave+=String.fromCharCode(digi);
}
return clave;
}
//==================================================================================
function manual()
{
let nom=document.getElementById("nom").value;
if(nom.length>0 && nom.length<=14)
{
document.getElementById("pass").value=genera(nom);
}
else
{
alert("Error El Campo Nombre Esta Vasio o Superastes El Limite...");
}
}
</script>
</body>
</html>
Así que lo probé y me muestra esto
Bueno espero les haya gustados saludos Flamer
No hay comentarios.:
Publicar un comentario