¿Qué es el formato de archivo EXEC?
Los archivos ejecutables para sistemas Unix y similares a Unix pueden guardarse con la extensión .exec. Un archivo .exec puede contener virtualmente cualquier programa ejecutable en un sistema operativo determinado, ya sea un binario compilado (como un binario ELF en Linux/Unix) o un script de intérprete de texto plano. .exec tiene su contraparte en forma de archivos .exe en sistemas Windows.
Como regla en los sistemas Unix, los archivos ejecutables se guardan sin ninguna extensión; el sufijo .exec se utiliza para marcar archivos ejecutables en administradores de archivos e IDE en macOS, Linux o FreeBSD, distinguiendo la salida ejecutable de los archivos de código fuente.
La capacidad de ejecutar un archivo .exec está determinada por los bits de permiso del archivo y su encabezado interno, no por la extensión. El kernel comprueba los bytes mágicos en el desplazamiento 0: los binarios ELF comienzan con \x7FELF, los binarios Mach-O de macOS con FEEDFACE y los scripts con #! seguido de una ruta de intérprete (por ejemplo, #!/bin/bash para un script .sh).
Los archivos .exec pueden ejecutarse desde la línea de comandos (shell). En macOS, lo que importa es el bit ejecutable (el atributo de permiso x): un archivo se ejecuta correctamente con o sin la extensión .exec. Antes de ejecutar un archivo .exec desconocido, use el comando file para confirmar su tipo real.
Seguridad y protección
RIESGO: HIGHUn ejecutable es el tipo de archivo de mayor riesgo para ejecutar desde una fuente no confiable: un .exec se ejecuta con sus privilegios de usuario y puede leer, modificar, cifrar o eliminar sus archivos y descargar más código. Antes de ejecutar uno que no haya creado usted mismo: ejecute «file file.exec» para ver qué es y, si es un script de texto, léalo primero. En macOS, Gatekeeper bloqueará los binarios no firmados o no notarizados por defecto; esa advertencia existe para su protección. Nunca ejecute a ciegas «chmod +x» y ejecute un archivo de un foro, correo electrónico o descarga aleatoria. La extensión «.exec» no confiere seguridad; confíe en la fuente, no en el sufijo.
Detalles del formato
en pocas palabras- Marcador de exportación de aplicaciones/IDE - Algunas herramientas de compilación y aplicaciones nombran su artefacto ejecutable producido como *.exec puramente como una etiqueta; el tipo real subyacente sigue siendo ELF/Mach-O/script.
Programas que abren archivos EXEC
Detalles técnicos
especificación profunda| Codificación | Binario (código compilado ELF o Mach-O) o texto plano (script de intérprete con shebang) |
| Formato binario en Linux/Unix | ELF (Executable and Linkable Format): bytes mágicos 7F 45 4C 46 («\x7FELF») en el desplazamiento 0 |
| Formato binario en macOS | Mach-O: magia FE ED FA CE (32 bits) o FE ED FA CF (64 bits); los binarios fat/universales usan CA FE BA BE |
| Marcador de script | Shebang (#!) en el desplazamiento de byte 0 seguido de la ruta del intérprete, p. ej. #!/usr/bin/env python3; analizado por el kernel antes de la ejecución |
| Tipo MIME | application/x-executable (binario de Linux); application/x-mach-binary (macOS); application/x-shellscript (script de texto) |
| Control de ejecución | Bits de permiso de Unix: el bit ejecutable (x) debe estar activado; la extensión .exec en sí misma es ignorada por el kernel |
| Plataforma de destino | Linux, macOS, variantes de BSD (FreeBSD, OpenBSD, NetBSD), Solaris y otros sistemas similares a Unix |
| Orden de bytes | Little-endian para x86-64 y ARM (la mayoría del hardware moderno); big-endian en plataformas Unix RISC heredadas como SPARC y MIPS |
| Tamaño de archivo típico | 1 KB (script de shell mínimo) hasta decenas de MB (binario compilado vinculado estáticamente) |
| Codificación de arquitectura | Incrustada en el campo e_machine de ELF (x86-64 = 0x3E, ARM64 = 0xB7, RISC-V = 0xF3) o en los campos cputype/cpusubtype de Mach-O |
| Integridad del código | No hay una suma de comprobación inherente en el formato; macOS admite la firma de código a través de la herramienta codesign; Linux depende de firmas externas de GPG o del administrador de paquetes |
| Compresión | No integrada en el formato; los binarios pueden estar empaquetados con UPX o envueltos en un script de shell autoextraíble |
| Convención de extensión | El sufijo .exec es informal: la mayoría de los ejecutables nativos de Unix no llevan extensión; el SO utiliza bytes mágicos, no el nombre del archivo, para determinar cómo ejecutar el archivo |
| Contraparte en Windows | .exe (formato PE/COFF): la extensión es obligatoria en Windows, a diferencia de .exec que es opcional en Unix |
| Comando de inspección | El comando file identifica el tipo de binario real (ELF, Mach-O o intérprete de script) independientemente de la extensión .exec |
| Lanzado | N/A (extension-less executables predate the .exec label; concept from early Unix) |
| Última versión | N/A - .exec is a convention, not a versioned format |
| Especificación | refspecs.linuxfoundation.org |
Conversiones de EXEC
Preguntas y respuestas de la comunidad
preguntado por usuariosAún no hay preguntas; sea el primero en preguntar sobre los archivos EXEC.