Hola amigos hoy les traigo el reto 4 de la pagina rogerfm es un reto sencillo hace tiempo lo resolvi como en el 2019 si no me equivoco, bueno aqui una foto del reto
El serial solo acepta 8 digitos de longitud, si ingresamos otra cantidad de digitos marcara error y nos llebara al cartelito de "best luck next time :D" que quiere decir "Mucha suerte la próxima vez" bueno les dejo una foto
bueno creo que les dejare el codigo de como generar el serial correcto o seriales correctos por que hay varios, el generador de claves esta en html y javascript aqui esta
<html>
<head>
<title>Generador De Claves Del Crackme 4 Rogerfm.Net ...:::By Flamer:::...</title>
</head>
<body>
<center>
<h1>Crackme 4 Rogerfm.Net</h1>
Serial:     <input type="text" id="pass" size='50' style="text-align:center;"><input type="button" value="Copy" onclick="copiar()"><br><br>
<input type="button" id="10" value="Generar" onclick="auto()">
<input type="button" id="11" value="Limpiar" onclick="limpia()">
</center>
<script>
let tiempo; //variable tiempo
function copiar() //funcion copiar
{
let c=document.getElementById('pass'); //declara c como un objecto de referencia del campo de texto con id pass
c.select(); //selecciona lo que esta en el campo de texto con id pass
document.execCommand('copy'); //copea lo seleccionado
}
function limpia() //funcion limpiar
{
document.getElementById("pass").value=""; //limpia el campo de texto con id pass
}
function generar() //funcion que genera la clave
{
let digi=new Array(7); //declara el arreglo digi
let x=0,serial="";
digi[0] = Math.floor(Math.random() * (127 - 35 + 1)) + 35; //genera un numero aleatorio entre el rango 127 y 35
digi[4] = digi[0] - 3; //le resta 3 al valor aleatorio generado arriba para despues pasarcelo a la posicion 4
digi[2] = Math.floor(Math.random() * (127 - 32 + 1)) + 32; //genera un valor aleatorio entre los rangos 127 y 32
digi[6] = digi[2]; //le pasa el de arriva ala posicion 6
digi[1] = Math.floor(Math.random() * (127 - 39 + 1)) + 39; //genera un numero aleatorio entre el rango 127 y 39
digi[5] = digi[1] - 7; //le resta 7 al valor aleatorio generado arriva para despues pasarcelo a la posicion 5
digi[3] = Math.floor(Math.random() * (127 - 32 + 1)) + 32;//genera un numero aleatorio entre el rango 127 y 32
digi[7] = digi[3];//le pasa el de arriva ala posicion 7
for(x=0;x<=7;x++) //ciclo for para convertir todos los valores decimales a su valor ascii
{
serial+=String.fromCharCode(digi[x]); //aqui toma cada valor decimal del arreglo y lo convierte a texto o asu valor ascii y lo concatena a serial
}
document.getElementById("pass").value=serial; //le pasa el valor de serial a el campo de texto
tiempo=setTimeout("generar()",10); //manda llamar a la funcion generar
}
function auto() //funcion auto
{
let nom=document.getElementById("10").value; //le pasa el valor a la variable nom
if(nom=="Generar") //pregunta si nom es igual a Generar y si es asi entra
{
document.getElementById("10").value="Detener"; //aqui si entra cambea el nombre al boton y le pone detener
generar(); //manda llamar la funcion generar
}
else
{
document.getElementById("10").value="Generar"; //cambea el nombre al boton
clearTimeout(tiempo); //detiene el ciclo de estar llamando a la funcion generar
}
}
</script>
</body>
</html>
les dejo el codigo para que lo prueben y analizen aqui una foto de el
asi que probamos e ingresamos esa clave
y como ven nos manda el cartelito correcto bueno creo que eso es todo si quieren probar el codigo ya saben como siempre copeen y pegan en el bloc de notas con la extencion .html saludos Flamer