Hvad er COM-filformatet?
En .com-fil er en simpel eksekverbar binær fil - et af de ældste programformater i personlig databehandling, der stammer fra Digital Researchs CP/M-operativsystem, før det blev ført videre til MS-DOS. I modsætning til .exe-formatet, som understøtter flere hukommelsessegmenter og relokeringstabeller, er et .com-program en rå, flad binær fil uden filhoved: hver byte indlæses direkte i hukommelsen ved offset 0x0100 inden for et enkelt 64 KB real-mode-segment og eksekveres med det samme. Denne arkitektoniske begrænsning betyder, at en .com-fil aldrig kan overstige ca. 64 KB i størrelse.
Selv mens det blev suppleret af det mere generelle .exe-format, forblev .com praktisk og meget brugt gennem hele MS-DOS-æraen til små hjælpeprogrammer, kommandolinjeværktøjer og TSR-programmer. Under 32-bit Windows kørte NTVDM-undersystemet .com-filer gennemsigtigt; NTVDM blev fjernet fra 64-bit Windows, så indfødt eksekvering på moderne Windows kræver en emulator såsom DOSBox.
Filendelsen .com har absolut ingen forbindelse med top-level domænenavnet .com på internettet. Dette sammenfald i navngivning er historisk blevet udnyttet af malware-forfattere, der skjuler eksekverbare .com-filer som links eller tekst, hvilket gør formatet til en veldokumenteret social-engineering-vektor.
Sikkerhed og tryghed
RISIKO: HIGHCOM-filer er eksekverbar kode - historisk set den primære bærer af DOS-malware (boot-sektor-vira droppede ofte .com-infektorer). På moderne 64-bit Windows kan de ikke køre indfødt, hvilket er en praktisk sikkerhedsbarriere, men på 32-bit systemer eller inde i DOS-emulatorer eksekveres de uden begrænsninger. Kør aldrig en COM-fil modtaget uventet; scan med antivirus før start i enhver emulator. Særlig risiko: webbrugere forveksler .com (domæne) med .com (eksekverbar) og downloader ubevidst eksekverbare filer i den tro, at det er websider.
Formatdetaljer
kort fortalt- Windows Component Object Model registrerings-stub - Sjælden; nogle meget gamle Windows COM-server selvregistreringsværktøjer brugte .com-filendelsen.
- Netværkskommandoskript (Cisco IOS osv.) - Nogle indlejrede enheder/netværksenheder bruger .com til firmware eller kommandoskripter - urelateret til DOS.
Programmer der åbner COM-filer
Tekniske detaljer
dyb specifikation| Kodning | Rå binær maskinkode (x86 real-mode) |
| Byte-rækkefølge | Little-endian (x86) |
| Filhoved | Intet - flad binær uden hoved, ingen relokeringstabel, ingen segment-deskriptorer |
| Filsignatur | Ingen - identificeres kun via filendelse; de første bytes er typisk en JMP-opcode (0xEB eller 0xE9), men det er ikke obligatorisk |
| Indlæsningsadresse | Indlæses ved segment:0x0100; Program Segment Prefix (PSP) optager bytes 0x0000-0x00FF af segmentet |
| Hukommelsesmodel | CS = DS = ES = SS peger alle på det samme 64 KB real-mode-segment - ingen segmentadskillelse |
| Maksimal filstørrelse | ~65.280 bytes (ét 64 KB segment minus 256-byte PSP og minimum stack-allokering) |
| MIME-type | application/x-msdos-program |
| 64-bit Windows-understøttelse | Ikke understøttet indfødt - NTVDM (16-bit undersystem) fjernet fra 64-bit Windows; brug DOSBox eller DOSBox-X |
| CP/M-arv | Formatet stammer fra Digital Research CP/M (1974) og blev overtaget uændret til MS-DOS 1.0 (1981) |
| Afløst af | .exe for programmer, der overstiger 64 KB; .cmd / .bat for Windows-konsolskripter |
| Sikkerhedsbemærkning | Historisk set en stor malware-vektor - trivielt eksekverbar og let at ændre uden at ødelægge strukturen; ofte forklædt som domæne-lignende filnavne |
| Operativsystemer | MS-DOS, PC DOS, FreeDOS, Windows 32-bit (via NTVDM), CP/M; DOSBox/DOSBox-X til moderne brug |
| Udgivet | 1974 (CP/M); MS-DOS 1.0, 1981 |
| Seneste version | No versioning - raw binary format unchanged |
COM-konverteringer
Fællesskabets Q&A
spurgt af brugereIngen spørgsmål endnu - vær den første til at spørge om COM-filer.