proteger nuestros javascripts
quise probar de proteger el javascript de xinu con php, pero es una cosa inútil, ya que existen extensiones para firefox como "web developer" que te permiten mostrar el javascript
busque otra manera de hacerlo y encontré packer
esta herramienta te permite comprimir y codificar el código para que sea incomprensible (o al menos cuando le hechas un ojo, te se quitan todas las ganas...)
por ejemplo tenemos:
-
alert('prueba') ;
y packer te devuelve:
-
eval(function(p,a,c,k,e,r){e=String;if(!''.replace(/^/,String)){while(c--)r[c]=k[c]||c;k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('0(\'1\');',2,2,'alert|prueba'.split('|'),0,{}))
parece que no comprima, pero solo si ponemos poco código
doy fe que si que lo reduce, ya que del fichero original de 36,4 KB paso a 13.47 KB
antes de utilizar packer:
tenemos que cerrar todas las funciones y declaraciones, ejemplo:
-
function loquesea(){
-
var variable1 = 'prueba'
-
onload = function() {
-
alert(variable1);
-
}
-
}
tiene que quedar asi:
-
function loquesea(){
-
var variable1 = 'prueba';
-
onload = function() {
-
alert(variable1);
-
};
-
};
una vez puestos todos los punto y coma necesarios, nos dirigimos a la web de packer
pegamos el el código en la caja de texto que pone Paste
Si quieres, selecciona alguna de las siguientes opciones:
- Base62 encode: calificación base64 (para codificar a base64 y sea incomprensible)
- Shrink variables: encoger variables (lo que hace es cambiar es cambiar el nombre de los parámetros de las funciones)
para finalizar, le damos al botón Pack, copiamos el resultado de la caja de texto de abajo que pone Copy y guardamos el código en un fichero con extension .js
ahora solo queda probarlo, si ves que no hace nada, seguramente sera porque te has olvidado algún punto y coma.
antes de sustituir el fichero codificado, recomiendo hacer copia de seguridad del original
Interesante saberlo que existe semejante herramienta, aunque lo veo un poco engorroso ! Pero bueno, quin algo quiere algo le cuesta.
Qué lástima. Esperaba que apoyaras la causa del Software Libre.
Alex, jeje no quiero mostrar todo el codigo, pero explicare el funcionamento y mostrare partes del codigo, como funciones
Vaya! No sabía que para que funcionara tenía que cerrar con punto y coma también las funciones y estructuras tipo if.
Gracias, me has resuelto el problema!
@hanok: me alegro que te haya sido util
la mayoria de cosas que publico en viciao2k3 son respuestas a los problemas que tengo
Pues si esto os parece interesante visitad
http://jsblock.ath.cx/cry
En este sitio se modifica el código de forma que solo funcione para el dominio especificado, evitando la portabilidad del mismo. Además puede añadirse una linea de copy right visible y muy difícil de eliminar. Con esto no solo se empaqueta el código, sino que además se protege la autoría del desarrollo, de forma que su distribución corresponda única y exclusivamente al autor, y no a terceras personas ajenas al desarrollo del mismo y sin permiso expreso del propietario.
Y todo el trabajo se hace online. Espectacular.
Esto tendrian que implementar la gente de bux.to, así los dejan de hackear / aprovecharse de sus vulnerabilidades GIGANTES xD