Cómo extraer los archivos de un instalador en Windows
Seguro que en más de una ocasión has querido extraer los archivos de algún instalador y así analizar detenidamente que archivos se instalarán en el sistema operativo. Hoy vamos a daros una guía completa de cómo extraer los archivos de un instalador en Windows. Este tutorial cubrirá tanto la descompresión de archivos con extensión .msi
como los habituales .exe
.
Personalmente suelo descomprimir los instaladores para analizar con un antivirus los archivos desempaquetados o para crear una versión portable del programa.
En la actualidad existen diferentes tipos de instaladores y a veces es complicado identificarlos. En otras ocasiones, el desarrollador se ha tomado las suficientes molestias para evitar que el instalador pueda ser descomprimido de forma sencilla. Es cierto que hay técnicas avanzadas de ingeniería inversa que nos pueden permitir descomprimir instaladores “imposibles”, pero no son el objetivo de este tutorial.
Cómo identificar el tipo de instalador (al menos intentarlo) y método general para descomprimir instaladores.
Antes de poder extraer los contenidos de un instalador hay que intentar identificar ante qué tipo de instalador estamos. En la actualidad existen diferentes tipos de software que permite crear instaladores, pero los más usados son:
- Inno Setup.
- NSIS: Nullsoft Scriptable Install System.
- WiX Toolset.
- InstallShield.
- InstallAware.
- Advanced Installer.
- Windows Installer o Microsoft Installer (archivos con extensión .msi).
Como podemos ver, los instaladores pueden ser archivos con extensión .msi
, o archivos ejecutables con extensión .exe
(lo más habitual). Estos instaladores además de desempaquetar los archivos del programa, también se encargan de registrar las librerías necesarias, realizar los cambios necesarios en el registro de Windows, etc.
Un pequeño truco que nos permite obtener información sobre el instalador, es ejecutarlo a través de la consola de comandos (generalmente requiere permisos de administrador) de la siguiente forma:
setup.exe /?
Al ejecutarlo de esta manera puede mostrar una ventana de ayuda que nos permite identificar el tipo de instalador. Debemos tener claro que este método no siempre funciona, pero no perdemos nada por probar.
Método general para descomprimir instaladores.
En este primer paso, os voy a mostrar la forma más sencilla para examinar, descomprimir, inspeccionar o extraer los archivos de un instalador. Vamos a usar un programa especialmente diseñado para esta tarea que se llama Universal Extractor.
Para la descarga del programa podéis ir hasta la web oficial http://legroom.net/software/uniextract
o a través de este mirror.
Con Universal Extractor es realmente sencillo descomprimir un instalador, el propio programa se encarga de detectar el tipo de instalador y descomprimirlo automáticamente.
Profundizando en la descompresión de instaladores con otras herramientas.
Ha quedado claro que con Universal Extractor conseguimos nuestro objetivo, pero en este apartado quiero profundizar en otras herramientas y métodos alternativos para descomprimir instaladores y conocerlos más de cerca.
Antes de nada debemos tener claro como abrir la consola de comandos con permisos de administrador, para ello podéis seguir el tutorial del enlace.
Cómo extraer los contenidos de un archivo .msi de instalación.
Vamos a empezar hablando de los archivos de instalación con extensión .msi
, ya que es muy habitual encontrarlos y su descompresión resulta bastante sencilla.
Para descomprimir archivos .msi y extraer sus contenidos ejecutamos el siguiente comando:
msiexec /a c:\testfile.msi /qb TARGETDIR=c:\temp\test
Hay una segunda opción que es emplear el programa Lessmsi, es una aplicación compatible con Windows, gratuita y de código abierto.
Cómo extraer los archivos de un instalador creado con Inno Setup.
Para descomprimir los instaladores ejecutables creados con Inno Setup podemos usar uno de los siguientes programas:
- Inno Setup Unpacker (gratuito y de código abierto).
- Innoextract (multiplataforma, de código abierto y gratuito).
Cómo extraer los archivos de un instalador creado con NSIS: Nullsoft Scriptable Install System.
En este caso lo tenemos bastante sencillo, podemos emplear el descompresor 7zip directamente sobre el ejecutable del instalador y descomprimir así sus contenidos.
Cómo extraer los archivos de un instalador creado con WiX Toolset.
En este caso, el propio paquete de la aplicación incluye un descompresor. Tenemos que ir hasta la página oficial de Wix Toolset y descargar el paquete. Dentro encontraremos el ejecutable Dark.exe
con el que podemos descomprimir los instaladores ejecutando el siguiente comando:
Dark.exe -x setup.exe
Hay una segunda opción que consiste en ejecutar el propio instalador desde la línea de comandos de la siguiente forma:
setup.exe -layout
Cómo extraer los contenidos de un instalador creado con Advanced Installer.
Para descomprimir un instalador de Advanced Installer tenemos que ejecutar el propio instalador desde la consola con el siguiente comando:
Setup.exe /extract "C:\Archivos Descomprimidos\instalador"
Donde especificamos la ruta donde se descomprimirán los archivos tendremos que emplear comillas si usamos una ruta con espacios. Puede que el archivo descomprimido sea un único archivo con extensión .msi
, el cual tendremos que descomprimir nuevamente tal y como indicamos con anterioridad.
Cómo extraer los archivos de un instalador creado con InstallAware.
Los ejecutables creados con InstallAware podemos descomprimirlos directamente con el descompresor 7zip. A veces el archivo descomprimido será un único archivo con extensión .msi
, por lo que tendremos que descomprimirlo una vez más tal y como indicamos anteriormente.
Cómo extraer los contenidos de un instalador creado con InstallShield.
En este caso tendremos que recurrir a línea de comandos (generalmente con permisos de administrador) y ejecutar el comando:
setup.exe /extract_all
Para terminar…
Como podéis ver el proceso de descomprimir un archivo de instalación resulta bastante sencillo, aunque hay situaciones en las que no será posible porque tiene algún tipo de protección.
De todas formas, quiero aprovechar la ocasión para advertiros una vez más del peligro que supone descargar archivos de fuentes desconocidas, sobre todo los que nos descargamos de internet. Personalmente suelo echar mano de VirusTotal para comprobar si un archivo ejecutable es seguro o no.