O que é o formato de ficheiro COM?
Um arquivo .com é um binário executável simples - um dos formatos de programa mais antigos na computação pessoal, originado no sistema operacional CP/M da Digital Research antes de ser levado para o MS-DOS. Ao contrário do formato .exe, que suporta múltiplos segmentos de memória e tabelas de realocação, um programa .com é um binário plano bruto sem cabeçalho de arquivo: cada byte é carregado diretamente na memória no deslocamento 0x0100 dentro de um único segmento de modo real de 64 KB e executado imediatamente. Essa restrição arquitetônica significa que um arquivo .com nunca pode exceder aproximadamente 64 KB de tamanho.
Mesmo sendo complementado pelo formato .exe mais generalizado, o .com permaneceu prático e amplamente utilizado durante toda a era MS-DOS para pequenos utilitários, ferramentas de linha de comando e programas TSR. No Windows de 32 bits, o subsistema NTVDM executava arquivos .com de forma transparente; o NTVDM foi removido do Windows de 64 bits, portanto, a execução nativa no Windows moderno requer um emulador como o DOSBox.
A extensão .com não possui absolutamente nenhuma conexão com o nome de domínio de topo da Internet .com. Essa correspondência na nomenclatura foi historicamente explorada por autores de malware que disfarçam arquivos .com executáveis como links ou texto, tornando o formato um vetor de engenharia social bem documentado.
Segurança e proteção
RISCO: HIGHArquivos COM são código executável - historicamente o principal portador de malware do DOS (vírus de setor de inicialização frequentemente instalavam infectores .com). No Windows moderno de 64 bits, eles não podem ser executados nativamente, o que é uma barreira de segurança prática, mas em sistemas de 32 bits ou dentro de emuladores DOS, eles são executados sem restrições. Nunca execute um arquivo COM recebido inesperadamente; verifique com um antivírus antes de iniciá-lo em qualquer emulador. Risco particular: usuários da web confundem .com (domínio) com .com (executável) e baixam arquivos executáveis sem saber, pensando que são páginas da web.
Detalhes do formato
em resumo- Stub de registro do Windows Component Object Model - Raro; alguns utilitários de autorregistro de servidor Windows COM muito antigos usavam a extensão .com.
- Script de comando de rede (Cisco IOS etc.) - Alguns dispositivos embarcados/de rede usam .com para firmware ou scripts de comando - sem relação com o DOS.
Programas que abrem arquivos COM
Detalhes técnicos
especificação profunda| Codificação | Código de máquina binário bruto (modo real x86) |
| Ordem dos bytes | Little-endian (x86) |
| Cabeçalho do arquivo | Nenhum - binário plano sem cabeçalho, sem tabela de realocação, sem descritores de segmento |
| Assinatura do arquivo | Nenhuma - identificado apenas pela extensão; os primeiros bytes são tipicamente um opcode JMP (0xEB ou 0xE9), mas não é obrigatório |
| Endereço de carga | Carregado em segment:0x0100; o Program Segment Prefix (PSP) ocupa os bytes 0x0000-0x00FF do segmento |
| Modelo de memória | CS = DS = ES = SS todos apontam para o mesmo segmento de modo real de 64 KB - sem separação de segmentos |
| Tamanho máximo do arquivo | ~65.280 bytes (um segmento de 64 KB menos o PSP de 256 bytes e a alocação mínima de pilha) |
| Tipo MIME | application/x-msdos-program |
| Suporte ao Windows 64 bits | Não suportado nativamente - NTVDM (subsistema de 16 bits) removido do Windows de 64 bits; use DOSBox ou DOSBox-X |
| Herança CP/M | O formato originou-se com o Digital Research CP/M (1974) e foi adotado inalterado para o MS-DOS 1.0 (1981) |
| Substituído por | .exe para programas que excedem 64 KB; .cmd / .bat para scripts de console do Windows |
| Nota de segurança | Historicamente um grande vetor de malware - trivialmente executável e facilmente modificado sem quebrar a estrutura; comumente disfarçado como nomes de arquivos no estilo de domínio |
| Sistemas operacionais | MS-DOS, PC DOS, FreeDOS, Windows 32-bit (via NTVDM), CP/M; DOSBox/DOSBox-X para uso moderno |
| Lançado | 1974 (CP/M); MS-DOS 1.0, 1981 |
| Versão mais recente | No versioning - raw binary format unchanged |
Conversões de COM
Perguntas e Respostas da Comunidade
perguntado por usuáriosAinda não há perguntas - seja o primeiro a perguntar sobre arquivos COM.