Packer o no Packer, ¡he ahí la cuestión!
¿Qué es un packer?
Packer, empacador, a veces conocido como protector o compresor, es un programa usado generalmente para comprimir y proteger aplicaciones. Del mismo modo que comprimes un archivo .txt en un .zip, puedes comprimir un .exe en otro .exe de menor tamaño. Así a primera vista ya ves que es una ventaja, incluso puedes proteger tu aplicación para que no sea crackeada (o minimizar las posibilidades de este hecho) y crear licencias de usuarios o versiones "demo". Si eres programador seguro que ya te has hecho esta pregunta millones de veces: ¿Merece la pena usar un packer?¿Existen packers gratuitos? Vamos a intentar ver las ventajas y desventajas que tiene el uso de los mismos.
Como he repetido cientos de veces, cuando un programador termina su proyecto se encuentra con muchísimos obstáculos, muchos de los cuales ni él mismo conoce. Fíjate las que se me ocurren:
- Proteger su aplicación contra el Cracking
- Crear licencias
- Intentar comprimirlo
- Crear un instalador y buscar las dependencias
- Crear una versión demo para que sea posible testear el programa
- Testearlo
Como puedes observar, si tienes intención de crear una aplicación comercial, aún queda mucho trabajo. Vamos a ver las principales ventajas y desventajas del uso o no de Packers:
Ventajas de usar un packer
- Existen packers gratuitos. Hay muchos.
- Comprimen tu aplicación
- Algunos te permiten embeber las dependencias (Molebox por ejemplo)
- Protegen tu aplicación contra el Cracking. Sólo con el hecho de comprimir ya se protege mínimamente.
- Existen packers que te permiten crear licencias y versiones demo.
- En sólo 3 clics y 3 segundos puedes tener tu aplicación "empacada".
- Te olvidas de proteger, de las licencias, de las versiones demo y "ahorras" mucho tiempo y trabajo (que no dinero).
- Los packers de pago suelen estar actualizados. Esto es muy importante para compatibilidades y para ir mejorando la protección y los servicios que nos preste.
Hay muchas ventajas, sin embargo, tiene desventajas que es importante que conozcas. Yo he usado packers de pago con sus respectivas licencias y he comprobado esto que seguidamente te comento:
Desventajas de usar un packer
- La mayoría de packers son de pago y la verdad, no son baratos pero voy a defender a los desarrolladores de packers: el trabajo que realiza el packer y el esfuerzo que realizan sus creadores puede merecer la pena.
- Una desventaja que me ha ocurrido es que muchos virus son "ocultados" con el uso de packer y/o crypters, esto puede ser un inconveniente porque el uso de determinados packers puede crearte falsos positivos. De hecho, esto me ha ocurrido con un programa que hice y la solución ha sido compilarlo de nuevo creando un instalador con todas las dependencias, y dejar la aplicación comprimida sólo con UPX.
- Para mí, la principal característica que debe tener un packer es que debe estar ¡constantemente actualizado! esto en sí es una ventaja pero verás que puede ser lo contrario. Yo creo que los programadores, al principio, no prestan suficiente atención a esto pero es muy importante ya que puede hacer que tu aplicación no funcione correctamente y NO sea culpa tuya sino del packer. Voy a poner un simple caso real: Tengo un programa protegido por el packer A que funciona correctamente en Windows XP pero apareció Windows Vista y el programa dejó de funcionar mostrando una ventana de error. El error era provocado por el packer. ¿Qué quiero decir con esto? Pues que con cada actualización que se produzca en el packer, deberías actualizar tu propio programa, si no seguramente no funcione correctamente en todos los ordenadores.
- Por el motivo anterior, el uso de packers de pago es caro. Cuando compras la licencia de un packer, éste tiene una licencia inicial que varía normalmente entre 3, 6 o 12 meses y tienes derecho a descargarte las nuevas actualizaciones del packer durante ese tiempo. Después tienes que renovarla. Por el punto de antes, usar un packer desactualizado no es nada recomendable y te obliga a ir renovando la licencia, que suele tener un precio más bajo que la inicial.
Las conclusiones las tienes que sacar tú mismo. Yo simplemente te expongo mi experiencia y la verdad que a día de hoy sigo usando un packer de pago aunque no he renovado la licencia. Ya has visto que puedes ahorrarte mucho trabajo pero a costa de tu bolsillo.
Un saludo
Un Saludo y gran articulo
Un saludo y gracias por tu mensaje.