¿Qué es el formato de archivo COM?
Un archivo .com es un binario ejecutable simple, uno de los formatos de programa más antiguos en la informática personal, originado en el sistema operativo CP/M de Digital Research antes de ser trasladado a MS-DOS. A diferencia del formato .exe, que admite múltiples segmentos de memoria y tablas de reubicación, un programa .com es un binario plano sin encabezado de archivo: cada byte se carga directamente en la memoria en el desplazamiento 0x0100 dentro de un único segmento de modo real de 64 KB y se ejecuta de inmediato. Esta restricción arquitectónica significa que un archivo .com nunca puede exceder aproximadamente los 64 KB de tamaño.
Incluso cuando fue complementado por el formato .exe más generalizado, el .com siguió siendo práctico y ampliamente utilizado durante toda la era de MS-DOS para pequeñas utilidades, herramientas de línea de comandos y programas TSR. Bajo Windows de 32 bits, el subsistema NTVDM ejecutaba archivos .com de forma transparente; NTVDM se eliminó de Windows de 64 bits, por lo que la ejecución nativa en Windows moderno requiere un emulador como DOSBox.
La extensión .com no tiene ninguna conexión con el nombre de dominio de Internet de nivel superior .com. Esta correspondencia en la nomenclatura ha sido explotada históricamente por autores de malware que disfrazan archivos ejecutables .com como enlaces o texto, convirtiendo al formato en un vector de ingeniería social bien documentado.
Seguridad y protección
RIESGO: HIGHLos archivos COM son código ejecutable; históricamente fueron el principal portador de malware en DOS (los virus de sector de arranque a menudo soltaban infectores .com). En Windows moderno de 64 bits no pueden ejecutarse de forma nativa, lo que constituye una barrera de seguridad práctica, pero en sistemas de 32 bits o dentro de emuladores de DOS se ejecutan sin restricciones. Nunca ejecute un archivo COM recibido inesperadamente; analícelo con un antivirus antes de lanzarlo en cualquier emulador. Riesgo particular: los usuarios de la web confunden .com (dominio) con .com (ejecutable) y descargan archivos ejecutables sin saberlo pensando que son páginas web.
Detalles del formato
en pocas palabras- Stub de registro de Windows Component Object Model - Raro; algunas utilidades de autorregistro de servidores COM de Windows muy antiguas utilizaban la extensión .com.
- Script de comandos de red (Cisco IOS, etc.) - Algunos dispositivos integrados/de red utilizan .com para firmware o scripts de comandos; no relacionado con DOS.
Programas que abren archivos COM
Detalles técnicos
especificación profunda| Codificación | Código máquina binario puro (modo real x86) |
| Orden de bytes | Little-endian (x86) |
| Encabezado de archivo | Ninguno: binario plano sin encabezado, sin tabla de reubicación, sin descriptores de segmento |
| Firma de archivo | Ninguna: se identifica solo por la extensión; los primeros bytes suelen ser un código de operación JMP (0xEB o 0xE9) pero no es obligatorio |
| Dirección de carga | Cargado en segmento:0x0100; el Program Segment Prefix (PSP) ocupa los bytes 0x0000-0x00FF del segmento |
| Modelo de memoria | CS = DS = ES = SS apuntan todos al mismo segmento de modo real de 64 KB; sin separación de segmentos |
| Tamaño máximo de archivo | ~65,280 bytes (un segmento de 64 KB menos el PSP de 256 bytes y la asignación mínima de pila) |
| Tipo MIME | application/x-msdos-program |
| Soporte para Windows de 64 bits | No soportado de forma nativa: NTVDM (subsistema de 16 bits) eliminado de Windows de 64 bits; use DOSBox o DOSBox-X |
| Herencia de CP/M | El formato se originó con CP/M de Digital Research (1974) y fue adoptado sin cambios para MS-DOS 1.0 (1981) |
| Reemplazado por | .exe para programas que exceden los 64 KB; .cmd / .bat para scripts de consola de Windows |
| Nota de seguridad | Históricamente un vector principal de malware: ejecutable de forma trivial y fácilmente modificable sin romper la estructura; comúnmente disfrazado como nombres de archivo de estilo dominio |
| Sistemas operativos | MS-DOS, PC DOS, FreeDOS, Windows de 32 bits (vía NTVDM), CP/M; DOSBox/DOSBox-X para uso moderno |
| Lanzado | 1974 (CP/M); MS-DOS 1.0, 1981 |
| Última versión | No versioning - raw binary format unchanged |
Conversiones de COM
Preguntas y respuestas de la comunidad
preguntado por usuariosAún no hay preguntas; sea el primero en preguntar sobre los archivos COM.