proteger nuestros javascripts

Javascript      12 Julio, 2007      1950 lecturas      8 comentarios

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:

JavaScript:
  1. alert('prueba') ;

y packer te devuelve:

JavaScript:
  1. 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:

JavaScript:
  1. function loquesea(){
  2. var variable1 = 'prueba'
  3. onload = function() {
  4. alert(variable1);
  5. }
  6. }

tiene que quedar asi:

JavaScript:
  1. function loquesea(){
  2. var variable1 = 'prueba';
  3. onload = function() {
  4. alert(variable1);
  5. };
  6. };

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

Compartir   twitter   del.icio.us   webeame   meneame   stumbleupon   mr.wong   ?  



  • Ni muerto
    Yo es que alucino con los que dicen que el software tiene que ser libre... o sea, que mientras yo me pego la paliza de crear un código.js tu jugando a la psx y encima quieres que sea tuyo también?? y tú? que das a cambio?? anda ya...
  • Esto tendrian que implementar la gente de bux.to, así los dejan de hackear / aprovecharse de sus vulnerabilidades GIGANTES xD
  • 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.
  • @hanok: me alegro que te haya sido util :D
    la mayoria de cosas que publico en viciao2k3 son respuestas a los problemas que tengo
  • 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!
  • gafeman
    Alex, jeje no quiero mostrar todo el codigo, pero explicare el funcionamento y mostrare partes del codigo, como funciones
  • Qué lástima. Esperaba que apoyaras la causa del Software Libre.
  • Interesante saberlo que existe semejante herramienta, aunque lo veo un poco engorroso ! Pero bueno, quin algo quiere algo le cuesta.
blog comments powered by Disqus