¿Qué es un archivo .EXE?
.EXE es una extensión de nombre de archivo de programa, pero no de un formato de archivo específico. Por lo general, en las plataformas Windows actuales, se refiere al formato Microsoft Portable Executable (aplicación, programa de consola, servicio, instalador, archivo autoextraíble, etc.). El mencionado Portable Executable se diseñó cuando se creó Windows NT (1993). Proviene de formatos COFF e incluye código de máquina, tablas de importación/exportación, recursos, información de reubicación, firmas digitales y metadatos .NET (para aplicaciones administradas).
En cuanto a los archivos más antiguos con extensión EXE, pueden ser ejecutables MS-DOS MZ compatibles con el entorno DOS, así como los de Windows 98 y versiones anteriores. Usan la firma MZ en su formato binario, haciendo referencia así a un desarrollador (ingeniero de Microsoft) llamado Mark Zbikowski. La mayoría de las aplicaciones de Windows de 16 bits (así como las de OS/2) usan el formato NE, que contiene un encabezado MZ además del encabezado New Executable usado por Windows 1.0,2.,3. y por OS/2 1.0.
Algunos archivos de tipo EXE son archivos autoextraíbles y/o instaladores, y son ejecutables por sí mismos, pero pueden tener una carga útil incrustada (como un archivo comprimido en ZIP, 7z, CAB e incluso instaladores NSIS, Inno setup o MSI) que normalmente se puede extraer con software de archivado. Para reconocer los tipos de archivo, usa la presencia de la firma MZ y del puntero e_lfanew al principio, que en los archivos PE apunta a PE\0\0, en los NE a NE, y en algunos formatos lineales de OS/2 a LE y LX, respectivamente.
Cómo abrir un archivo .EXE
Abrir un archivo .EXE en Windows
- 1 Ve a la carpeta donde está tu archivo en Explorador de archivos. Normalmente, los archivos descargados terminan en Descargas.
- 2 Haz doble clic en tu archivo .EXE si tienes una aplicación para archivos .exe en tu equipo. Si no se abre, pasa al paso tres.
- 3 Haz clic derecho en tu archivo .EXE -> selecciona .
- 4 Elige Microsoft Windows en la lista (Windows 11: elige Siempre). En Windows 10 -> marca "Usar siempre esta aplicación para abrir archivos .exe" y haz clic en Aceptar.
¿Sigue sin abrirse? Consulta los problemas comunes y sus soluciones, o ábrelo en tu navegador.
Programas para Windows
- Microsoft Windows de pago
- 7-Zip código abierto
- PeaZip código abierto
- Ghidra código abierto
- IDA Free gratis
- Detect It Easy código abierto
- Resource Hacker gratis
- ILSpy código abierto
Abrir un archivo .EXE en macOS
- 1 En la app Finder, localiza tu archivo .EXE.
- 2 Solo haz doble clic en tu archivo .EXE para abrir automáticamente el programa asociado con él.
- 3 ¿Necesitas otra app en tu Mac? Haz Control-clic en el archivo (o clic derecho con el mouse). En el menú emergente, selecciona .
- 4 Si no aparece en la lista, elige y busca la aplicación manualmente.
¿Sigue sin abrirse? Consulta los problemas comunes y sus soluciones, o ábrelo en tu navegador.
Programas para macOS
- Wine código abierto
- PeaZip código abierto
- Ghidra código abierto
- IDA Free gratis
- Detect It Easy código abierto
- ILSpy código abierto
- GNU Binutils código abierto
- DOSBox-X código abierto
Abrir un archivo .EXE en Linux
- 1 Abre tu gestor de archivos. Según el escritorio, puede llamarse Archivos (GNOME), Dolphin (KDE Plasma), Nemo (Cinnamon) o Thunar (Xfce).
- 2 Haz doble clic en el archivo.
- 3 O elige otro programa haciendo clic derecho en el archivo -> .
- 4 Instala Wine (si no está instalado en tu equipo) desde el centro de software, el repositorio o Flathub.
¿Sigue sin abrirse? Consulta los problemas comunes y sus soluciones, o ábrelo en tu navegador.
Programas para Linux
- Wine código abierto
- 7-Zip código abierto
- PeaZip código abierto
- Ghidra código abierto
- IDA Free gratis
- Detect It Easy código abierto
- ILSpy código abierto
- GNU Binutils código abierto
Abrir un archivo .EXE en iPhone / iPad
- 1 Usa la app Archivos y ve a En mi iPhone, iCloud Drive o Descargas.
- 2 Toca el archivo .EXE que quieras abrir.
- 3 Si el archivo puede abrirse con una app integrada de iOS (formato compatible), se abrirá automáticamente.
- 4 Mantén pulsado el archivo para abrir el menú contextual -> elige -> selecciona una aplicación adecuada en la lista de apps.
- 5 Si no aparece esa opción, primero descarga la app desde el App Store y luego toca el documento otra vez.
¿Sigue sin abrirse? Consulta los problemas comunes y sus soluciones, o ábrelo en tu navegador.
Programas para iPhone / iPad
- UTM SE código abierto
Abrir un archivo .EXE en línea
- 1 Ve al visor en línea en la parte superior de esta página.
- 2 Arrastra el archivo hasta allí o selecciónalo, y su contenido aparecerá en la pestaña de tu navegador. El archivo no se sube.
¿Sigue sin abrirse? Consulta los problemas comunes y sus soluciones, o ábrelo en tu navegador.
Programas para En línea
- VirusTotal freemium
Más detalles sobre cómo abrir archivos .EXE
Para Windows es importante abrir un ejecutable de confianza con un doble clic y ejecutarlo mediante el Windows Loader. Para conocer la información sobre las propiedades de un archivo ejecutable, haga clic derecho en el archivo y seleccione "Propiedades" para cambiar a las pestañas "General" y "Firmas digitales". Al mismo tiempo para los programas MS-DOS MZ y 16-bit Windows NE Windows 64-bit carece de su NTVDM y por lo tanto se debe usar la emulación o DOSBox-X. O en caso de tener algún problema se pueden usar máquinas virtuales para este propósito.
En cuanto a la ejecución de los ejecutables en un sistema operativo Mac o Linux se puede usar Wine. Aunque a veces es imposible debido a que no todos los programas y controladores,por ejemplo los sistemas anti-trampa,las aplicaciones de Microsoft Store y los juegos protegidos con DRM pueden ejecutarse bajo Wine. En el caso de que sospeches algo sospechoso acerca de un programa y no quieras iniciar el programa para evitar cualquier problema puedes usar software como 7-Zip, PeaZip o Ghidra donde tendrás alguna información relacionada con los metadatos del archivo, los recursos, las importaciones y las firmas de los empaquetadores. Si está disponible el metadato CLR ILSpy se convierte en una herramienta poderosa para abrir un programa .NET administrado. Además en caso de necesidad se puede extraer el C#. En la plataforma iOS, EXE no funciona. UTM SE puede ejecutar un invitado DOS o Windows. En la plataforma Android el EXE tampoco es compatible y es razonable conectarse de forma remota o usar una máquina virtual o la extracción.
Si un programa no se ejecuta con un doble clic es necesario comprobar si la descarga fue completa,si la versión de CPU y Windows son adecuadas,si la extensión es correcta y si hay algún bloqueo de un antivirus. Y finalmente si el ejecutable en particular es un contenedor para un instalador/parche.
Detalles técnicos
Los archivos .EXE rara vez están en forma de texto; casi todas las variantes de Windows usan .exe binarios que empiezan con MZ 4D 5A en el byte 0. En el formato de archivo ejecutable MZ, el encabezado tiene e_lfanew (0x3c). Este puntero de archivo al siguiente encabezado de formato normalmente apunta a la firma PE 50 45 00 00 en una imagen ejecutable PE, seguida por el encabezado COFF, el encabezado opcional PE y los directorios, y finalmente las secciones. Las secciones típicas son .text - código, .rdata para datos de solo lectura, .data - datos escribibles y .rsrc para iconos, diálogos y versión. La imagen también puede llevar opcionalmente un overlay después de la última sección (overlay - usado por varios instaladores y paquetes autoextraíbles).
La arquitectura PE define el destino ejecutable como, por ejemplo, x86, x64, ARM, etc., y el subsistema define si el ejecutable está pensado para GUI, consola, nativo, etc. En los encabezados opcionales hay información como image base, entrypoint RVA, section alignment, file alignment, indicadores DLL como ASLR flag y DEP flag. Se proporcionan las ubicaciones de los datos importados, la tabla de exportaciones, TLS, relocation, directorios Debug, Resources y las tablas Certificates en el archivo. El certificado Authenticode (fuera del digest de la imagen cargada) usa el directorio de certificados en la tabla opcional.
Los archivos ejecutables MS-DOS MZ incluyen una tabla de relocación, información sobre el tamaño del encabezado e información de los segmentos de código iniciales, además de información sobre la asignación de memoria. Windows de 64 bits moderno no carga archivos NE (New Executable) ni archivos LE/LX Linear Executable, que usan el mismo encabezado de ejecutable DOS MZ como base del formato con una tabla de módulos adicional. Los archivos .net.exe tienen formato PE con un encabezado clr adicional y flujos de metadatos, y por lo general contienen código escrito en Common intermediate language (CIL), a menudo junto con metadatos de este assembly, y también pueden apuntar a la plataforma anycpu o a algún tipo de plataforma específico como x86, x64 o ARM. El archivo puede tener solo unos pocos kilobytes de tamaño o incluso cientos de megabytes de longitud. El tipo MIME habitual es application/vnd.microsoft.portable-executable.
Cómo convertir archivos .EXE
No existe un método simple para revertir sin pérdida un ejecutable .EXE al equivalente del código fuente, APK, DMG o aplicaciones nativas para macOS o Linux; todo ello dará como resultado, como mucho, un intento de mejor esfuerzo o una reconstrucción del paquete.
La autoextracción se puede gestionar fácilmente con 7z x setup.exe -o./extracted, aunque puede haber otros tipos de cargas útiles, como CAB, ZIP y 7Z dentro del propio archivo ejecutable EXE (así como instaladores NSIS o Inno Setup), algunos de los cuales el software 7-Zip puede extraer con éxito sin ejecutarlos.
Las aplicaciones .NET (que vienen con las extensiones .exe o .dll) se pueden descompilar en aproximaciones en C# usando descompiladores como ILSpy y los creados para la familia dnSpy. El desensamblado, por otro lado, solo puede hacerse en los ejecutables PE nativos con herramientas como Ghidra, IDA Free y objdump, produciendo desensamblado o pseudocódigo en lugar de un archivo de proyecto.
El software Resource Hacker se usa para ver varios recursos de Windows de un archivo, concretamente para extraer iconos, diseños de diálogo, información de versión, manifiesto, mapas de bits y varias cadenas; además de tener la capacidad de modificar recursos de un archivo de destino. GNU objcopy puede volcar una sección .text a binario en bruto (aunque no se puede convertir un EXE de Windows en ELF o Mach-O).
| Convertir a | Herramienta | Comando / nota |
|---|---|---|
| Extracted files/folder from a self-extracting EXE archive | 7-Zip | 7z x setup.exe -o./extracted Funciona con muchos EXE de instaladores y SFX porque contienen un archivo comprimido incrustado; no descompila el código del programa. |
| Assembly listing (.asm/.txt) | GNU objdump | objdump -d -Mintel program.exe > program.asm Genera desensamblado para binarios PE/COFF compatibles; pueden faltar símbolos y no se recupera la estructura a nivel de código fuente. |
| C# project from a .NET EXE | ILSpy command-line tool | ilspycmd -p -o ./decompiled MyApp.exe Solo es útil para ensamblados administrados de .NET; la ofuscación, el código nativo, los comentarios y los archivos originales del proyecto pueden no poder recuperarse. |
| Icon resource (.ico) | Resource Hacker | ResourceHacker.exe -open app.exe -save app.ico -action extract -mask ICONGROUP,MAINICON, Extrae los recursos de icono de Windows cuando están presentes; los nombres de los recursos varían, así que puede que MAINICON tenga que cambiarse. |
| PE section dump / raw binary section | GNU objcopy | objcopy -O binary --only-section=.text program.exe program_text.bin Copia una sección seleccionada como .text; el resultado no es un ejecutable funcional. |
| Malware/static-analysis report | Detect It Easy CLI | diec program.exe Identifica el tipo de PE, las firmas del compilador/empaquetador, el subsistema, las importaciones y la entropía; es salida de análisis, no una conversión funcional. |
Problemas comunes y soluciones
"This app can’t run on your PC" se muestra cuando hay una incompatibilidad entre la arquitectura del procesador, cuando se ejecuta un archivo ejecutable MZ o NE de 16 bits en versiones de Windows de 64 bits, cuando el sistema de destino tiene una versión inferior o más nueva que la para la que se compiló el ejecutable, y cuando AppLocker o WDAC lo bloquean. Usa la herramienta Detect It Easy para analizarlo e instala el entorno x86, x64, ARM64 o heredado bajo el cual se compiló.
"The version of this file is not compatible with the version of Windows you’re running" normalmente se aplica a aplicaciones DOS de 16 bits, aplicaciones Windows NE, así como a binarios de 64 bits iniciados en sistemas de 32 bits. Abre tu programa de 16 bits dentro de la aplicación DOSBox-X o de una máquina virtual, y consigue el binario correcto de 32/64 bits en el sitio que lo ofrece.
"Bad EXE format", el error 193 y "%1 is not a valid Win32 application" suelen indicar que el ejecutable podría estar dañado, ser un archivo que no es EXE y fue renombrado, estar compilado para una arquitectura distinta o no tener el encabezado PE (Portable Executable), lo que indica que no es válido. Vuelve a descargarlo, compara con el hash proporcionado por el editor y asegúrate de que su prefijo MZ en el desplazamiento 0 esté presente.
"The application was unable to start correctly (0xc000007b)" aparece cuando se usan DLL de 32 bits en un programa de 64 bits, o viceversa, o cuando faltan los runtimes de Visual C++ o DirectX para esa aplicación en particular. Instala los redistribuibles correspondientes descargando e instalando el runtime proporcionado por el editor, así como una compilación de la aplicación correspondiente de la lista de versiones disponibles.
SmartScreen muestra "Windows protected your PC" cuando una app se lanzó desde alguna ubicación no firmada o menos confiable. Asegúrate de que la app haya sido publicada por un desarrollador legítimo y de que tenga un certificado Authenticode, además de un hash SHA256 y la URL correctos desde la que se ofreció. Usa las opciones proporcionadas cuando se te solicite "run" o "more info". Si muestra "NSIS Error"/"The setup files are corrupted" - vuelve a descargarlos desde la URL HTTPS.
Consideraciones de seguridad
Un archivo EXE contiene un código de programa para ser ejecutado nativamente en Windows ,código de programa administrado por .NET ,programas de instalación y cargas útiles descomprimidas en tiempo de ejecución dentro de los recursos y superposiciones. Asume siempre que un adjunto inesperado o un archivo descargado son de alto riesgo. Asegúrate de que el nombre del archivo ,el certificado (editor) ,la firma de Authenticode y la URL donde se obtuvo el archivo hayan sido validados antes de ejecutarlo. Una firma digital válida de Authenticode solo garantiza la autenticidad del producto así como la integridad del programa en el momento de la firma y no su seguridad porque el certificado digital puede ser robado.
El malware suele disfrazarse como empaquetadores,auto-extractores,iconos de ejecutables falsos y archivos con dos extensiones por ejemplo,factura.pdf.exe. Examinarlos con 7-Zip y editores hex como Hxd, software de análisis binario estático por ejemplo Ghidra,la versión gratuita de IDA (IDA) y también con software de análisis de .Net como ILSpy sería una mejor decisión que ejecutarlo directamente. Puede ocurrir un mal funcionamiento de los analizadores. Un enfoque de Sandbox o de prueba sería muy apropiado para el proceso en particular cuando un usuario tiene privilegios de administrador.
Historia y versiones
El formato de archivo ejecutable MZ se creó en 1981 como una versión mejorada del archivo COM simple para el sistema operativo Microsoft DOS. Permitía usar relocaciones y mapas de memoria más elaborados, por lo que tenía el identificador de dos letras MZ, relacionado con el programador de Microsoft Mark Zbikowski. Windows OS 1.0 y OS/2 1.x de Microsoft e IBM en los años 80 eligieron el formato NE para usarse con archivos ejecutables y DLLs GUI de 16 bits. En los 90, con la llegada de OS/2 2.0 y del espacio de direcciones de memoria lineal de 32 bits, IBM y Microsoft introdujeron los ejecutables LE/LX. Estos tipos de archivo también estuvieron disponibles más tarde en algunos DOS extenders o productos heredados de OS/2. Microsoft Windows NT 3.1 introdujo el formato PE en 1993, adaptando los conceptos de COFF para los ejecutables y DLLs de Windows. Más tarde, PE32+ amplió PE para Windows de 64 bits en x64 y ARM64.
La reutilización de archivos PE por parte de .NET Framework en 2002, que contienen metadatos de ensamblados IL y CLR, significa que las aplicaciones administradas siguen usando la extensión .dll/.exe de los binarios de Windows. Microsoft proporciona documentación para el formato PE/COFF; sin embargo, no está disponible como un estándar publicado por organizaciones internacionales como ISO.
Formatos relacionados
Mientras que los archivos DLL y muchos EXE usan el mismo contenedor de formato PE, windows los trata como bibliotecas, cargadas mediante la API LoadLibrary, y no como aplicaciones para ejecutarse como tareas separadas. El COM es un tipo de archivo ejecutable DOS, que no usa el formato de encabezado MZ; no tiene tabla de reubicación y usa segmentación de 64 KB. Requiere muchos menos costos de carga, en comparación con el formato PE. El .msi es el formato de base de datos de Windows Installer, lo que no implica ni ejecución ni aplicación. En muchos casos, un setup.exe no es más que un bootstrapper para algún MSI. De manera similar, los archivos msix y appx vienen como un conjunto de manifiestos de implementación y paquetes firmados que son mucho menos portables entre distintos dispositivos en comparación con un archivo .exe de instalador sin procesar. .bat/.cmd/.ps1/.vbs son archivos de texto de scripts interpretados que se ejecutan en cmd.exe o en un motor de scripts. Mientras que el formato ELF se usa como tipo principal de archivo ejecutable en sistemas operativos Linux/Unix y Mach O en entornos macOS/iOS. Los salvapantallas scr en Microsoft windows suelen ser archivos PE con una extensión modificada.
Aún no hay comentarios. Sé el primero en compartir tu experiencia con este tipo de archivo.