¿Qué es un packer?

 

Upx packer compresorEn ocasiones hablo de reversing, packers, cracking en general, y doy por sabidos algunos conceptos que no todo el mundo conoce. Algunas herramientas, y para ello antes explicaré –a mi modo-, algunos aspectos previos.

La pregunta del título, dice ¿Qué es un packer?
Una herramienta, exactamente un programa, que permite entre otras cosas:

-Añadir, quitar, y/o modificar un código.
-Esconder o camuflar las partes del mismo.
-Comprimir o aumentar el tamaño del original
-Incluir gestión de licencias.
-Incluir liberáis y dependencias. Como un joiner.
-Y suele comportarse siempre de la misma manera*

¿Para qué utilizar un packer?
La utilidad principal es esconder el código. Un packer, tratará con mayor o menor éxito, camuflar el código de un programa, haciendo que la tarea de analizar, y comprender los procesos internos sea un posible fracaso.

¿Qué utilidad se le suele dar?
Los programadores, lo utilizan para evitar que los famosos y llamativos “Keygen”, “cracks”, etc. Sean fácilmente obtenibles, y a poder ser te rasques un poquito el bolsillo y compres la aplicación. –lo cual aprovecho para recomendarte encarecidamente, si te gusta. Paga por ello, si no quieres pagar busca otra aplicación-

En otras ocasiones lo utilizan para disminuir el tamaño del programa que han creado, o quizá para anexar las librerías que utilizan, de esta forma, similar a lo que ocurriría con un archivo comprimido, en un mismo ejecutable, transmiten todo lo necesario para hacerle funcionar.

Lo que era bueno para los programadores, se les ocurrió a los creadores de virus, realmente malware en general, que también podría ser bueno para ellos, por este motivo, cada vez más, puedes encontrar –en el siguiente post, explicaré como-, mucho malware que utiliza packers para esconderse.

¿Hay tipos de packer?
No lo llamaría tipos de packer, ya que en esencia, serán siempre “iguales”, tendrán mejores o peores sentencias de ofuscación, códigos destinados a comprimir el original, o técnicas anti-reversing. Pero esto son opciones que pueden llegar a tener, o no.

¿Una vez aplicado un packer, este se puede retirar?
Sí, una vez hemos localizado el packer que ha sido empleado –si hemos tenido suerte-, podemos buscar información sobre el mismo, o quizá existe un “unpacker”, público, que nos pueda facilitar la tarea. En caso contrario… Nos tocaría estudiar el código, y tratar de quitar a mano la protección. Algo que suele ser divertido y didáctico.

Más información:
Que es un packer (Muy completo)
Malware y packers (ESET)
¿Deben ser detectados los packers?

¿Cómo funciona una aplicación para mirar bajo los asteriscos (*)?

Quizá alguna vez te has hecho esta pregunta. Escribes tú contraseña, y se oculta de la vista, bajo una serie de caracteres, el estándar es el asterisco, pero podrá ser otro. Lo curioso es que hay programas que sí que son capaces de ver bajo ellos. ¿Por qué?

 

Realmente, donde estas escribiendo es una caja de textos, normal y corriente, con una propiedad, que es no mostrar el texto, para evitar que si tienes a tu primo encima del hombro, no tenga ni idea de que estas poniendo. Sin embargo, hay formas de conocer que has escrito, sin utilizar un keylogger, simplemente pidiéndole al programa que lo muestre.

Quizá, nunca has visto como se comunican las aplicaciones entre ellas, por lo que trataré de explicarlo. Tenemos una aplicación A que es un login, y nos permite acceder, y una aplicación B, que se encarga de leer bajo los asteriscos. Las conversación es así: