Estoy trabajando, intentando, sacar el modo de sacar las pass de este tipo de scripts... Acabo de empezar, os lo pongo y haber si alguien puede.
Código:
<SCRIPT LANGUAGE="Javascript">
<!-- Esconde el codigo a navegadores antiguos
var alfabeto= "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHI"
var cod1 = "133320";
var cod2 = "AFGTMUPNSWT";
function decodificar(formulario) {
passcod = codificarC(formulario.password.value,3);
if (passcod == cod1) {
aux = "" + codificarC(formulario.password.value,10)
pagina = decodificarP(cod2, aux);
location.href = pagina + ".html";
}
else
alert("que intentas?");
}
function codificarC(passw,num) {
var codigo = 0;
texto = passw.toUpperCase();
for (i=0; i<texto.length; i++) {
letra = texto.substring(i,i+1);
c = alfabeto.indexOf(letra,0) + 1;
codigo = codigo * num + c;
}
return codigo;
}
function decodificarP(pagina,num) {
var result="";
for (i=0;i<pagina.length;i++) {
letra=pagina.substring(i,i+1).toUpperCase();
a=alfabeto.indexOf(letra,0);
a-=(num.substring(i,i+1)*1);
if (a<0) a+=26;
result += alfabeto.substring(a,a+1).toLowerCase();
}
return result;
}
// -->
</SCRIPT>
Probablemente lo conocereis, pues es muy típico, y el pass ya lo se... Si quereis hacer comprobaciones es "periquito", la cosa esta en que hay que buscar el modo para poder sacar cualquiera...
El cod2 esta codificado en funcion del cod1.
Bueno, que eso ya se ve.
Que os aproveche... Wink
Voy a explicar la parte de encriptación del password para haber si entre todos se nos ocurre alguna idea...
La parte importante es esta:
function codificarC(passw,num) {
var codigo = 0;
texto = passw.toUpperCase();
for (i=0; i<texto.length; i++) {
letra = texto.substring(i,i+1);
c = alfabeto.indexOf(letra,0) + 1;
codigo = codigo * num + c;
}
return codigo;
}
Vamos a ver, la funcion codificarC cuyos parámetros son passw (vemos más arriba que es la variable introducida en el formulario, el password en sí) y num, cuyo valor es 3 (lo pone arriba también).
Si seguimos nos indica que la variable codigo vale 0. Pasa el password introducido a mayusculas y lo iguala a la variable letra.
Ahora empieza el bucle:
Desde i=0, hasta que i sea igual a la longitud de la variable texto vamos aumentando de uno en uno...
La variable c es igual al número al que corresponde la letra en la cadena de texto alfabeto más 1. (empezamos a contar desde 0).
Finalmente codigo = a codigo * num + c
sabemos que codigo es 0, luego codigo = c
y volvemos al principio, pero ahora codigo empieza valiendo c, e i, en lugar de 0 valdrá uno... Y así sucesivamente hasta que i sea igual a la longitud del password.
El codigo que obtenemos tras multiplicar por última vez es el cod1.
Espero que se entienda... La otra parte es exactamente igual, pero es irrelevante, pues con el password ya tendremos el nombre de la pagina.html.
Ahora hay que pensar un modo para conseguir hacer el proceso inverso...
Este fin de semana si tengo tiempo me dedicaré a ello.
Un saludo!