Esta entrada en mi blog tiene muchos años, pero ya habla de este tema y de herramientas para conseguirlo:
https://neftali.clubdelphi.com/redud...un-ejecutable/
De todas formas lo que no explica ahí so ventajas e inconvenientes.
Hoy en día con el aumento del tamaño disponible (discos duros), ya no es tan problemático, salvo cuando tenemos que enviar cosas por internet, y a un así con las velocidades actuales tampoco tanto. Así que al final hay que plantearse
ventajas e inconvenientes de hacerlo.
VENTAJA: - La única es el menor tamaño de tu fichero (para almacenar y para enviar -si tienes que hacerlo-).
INCONVENIENTES:- Tiempo: Tal y como han dicho programa con UPX o similares, al ejecutar el programa deben descomprimirlo en memoria antes de ejecutarlo, por lo tanto el tiempo de ejecución será mayor (apreciable o no dependerá de la memoria, el tamaño,...)
- Seguridad: Los compresores de archivos "no suelen ser muy amigos" de los antivirus y otros programas de seguridad, así que te puedes encontrar que tu fichero ejecutable comprimido "no guste" a algún antivirus o similar y te lo bloquee, justo por la operación de descompresión en memoria y por la estructura interna (EXE comprimido dentro de otro).
Este último es el mayor problema que me presenta a mi este procedimiento, por lo que no o uso mucho y cuando lo uso, sólo es para "entornos controlados".
Si buscas en los foros, es un tema que ya hemos hablado otras veces. Además de otras opciones y utilidades encontrarás más opiniones de otros usuarios al respecto.