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:

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

Javascript      12 Julio, 2007      2509 lecturas      9 comentarios

  1. luigix

    Interesante saberlo que existe semejante herramienta, aunque lo veo un poco engorroso ! Pero bueno, quin algo quiere algo le cuesta.



  2. Alex

    Qué lástima. Esperaba que apoyaras la causa del Software Libre.



  3. gafeman

    Alex, jeje no quiero mostrar todo el codigo, pero explicare el funcionamento y mostrare partes del codigo, como funciones



  4. hanok

    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!



  5. gafeman

    @hanok: me alegro que te haya sido util :D

    la mayoria de cosas que publico en viciao2k3 son respuestas a los problemas que tengo



  6. zenhaust

    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.



  7. Nicolás Bermani

    Esto tendrian que implementar la gente de bux.to, así los dejan de hackear / aprovecharse de sus vulnerabilidades GIGANTES xD



  8. 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…



  9. José Cabo

    @Ni Muerto


    ¿Pero que dices? Y tu dices saber hablar de eso que hablas y/o haces?


    Cuanta *ignorancia* en tan poco espacio.









Additional comments powered by BackType