Hva er COM-filformatet?
En .com-fil er en enkel eksekverbar binærfil - et av de eldste programformatene i personlig databehandling, med opprinnelse i Digital Researchs CP/M-operativsystem før det ble videreført til MS-DOS. I motsetning til .exe-formatet, som støtter flere minnesegmenter og relokeringstabeller, er et .com-program en rå, flat binærfil uten filhode: hver byte lastes direkte inn i minnet ved offset 0x0100 innenfor et enkelt 64 KB real-mode-segment og kjøres umiddelbart. Denne arkitektoniske begrensningen betyr at en .com-fil aldri kan overstige omtrent 64 KB i størrelse.
Selv om det ble supplert av det mer generelle .exe-formatet, forble .com praktisk og mye brukt gjennom hele MS-DOS-æraen for små verktøy, kommandolinjeprogrammer og TSR-programmer. Under 32-bit Windows kjørte NTVDM-undersystemet .com-filer sømløst; NTVDM ble fjernet fra 64-bit Windows, så naturlig kjøring på moderne Windows krever en emulator som DOSBox.
Filendelsen .com har overhodet ingen forbindelse med toppnivådomenet .com på internett. Dette sammenfallet i navngiving har historisk blitt utnyttet av skadevareforfattere som forkler eksekverbare .com-filer som lenker eller tekst, noe som gjør formatet til en veldokumentert vektor for sosial manipulering.
Sikkerhet og trygghet
RISIKO: HIGHCOM-filer er eksekverbar kode - historisk sett den primære bæreren av DOS-skadevare (boot-sektor-virus slapp ofte .com-infektorer). På moderne 64-bit Windows kan de ikke kjøre naturlig, noe som er en praktisk sikkerhetsbarriere, men på 32-bit systemer eller inne i DOS-emulatorer kjører de uten begrensninger. Kjør aldri en COM-fil mottatt uventet; skann med antivirus før du starter den i en emulator. Særlig risiko: nettbrukere forveksler .com (domene) med .com (eksekverbar fil) og laster uvitende ned eksekverbare filer i tro om at de er nettsider.
Formatdetaljer
i et nøtteskall- Windows Component Object Model registrerings-stub - Sjelden; noen svært gamle Windows COM-server selvregistreringsverktøy brukte .com-filendelsen.
- Nettverkskommandoskript (Cisco IOS osv.) - Enkelte innebygde enheter eller nettverksenheter bruker .com for fastvare eller kommandoskript - urelatert til DOS.
Programmer som åpner COM-filer
Tekniske detaljer
dyp spesifikasjon| Koding | Rå binær maskinkode (x86 real-mode) |
| Byterekkefølge | Little-endian (x86) |
| Filhode | Ingen - flat binærfil uten hode, ingen relokeringstabell, ingen segmentbeskrivelser |
| Filsignatur | Ingen - identifiseres kun ved filendelse; første byte er vanligvis en JMP-opkode (0xEB eller 0xE9), men ikke obligatorisk |
| Lasteadresse | Lastes ved segment:0x0100; Program Segment Prefix (PSP) opptar bytene 0x0000-0x00FF i segmentet |
| Minnemodell | CS = DS = ES = SS peker alle til samme 64 KB real-mode-segment - ingen segmentseparasjon |
| Maksimal filstørrelse | ~65 280 byte (ett 64 KB segment minus 256-byte PSP og minimum stakkallokering) |
| MIME-type | application/x-msdos-program |
| 64-bit Windows-støtte | Ikke støttet naturlig - NTVDM (16-bit undersystem) fjernet fra 64-bit Windows; bruk DOSBox eller DOSBox-X |
| CP/M-arv | Formatet oppstod med Digital Research CP/M (1974) og ble adoptert uendret for MS-DOS 1.0 (1981) |
| Erstattet av | .exe for programmer som overstiger 64 KB; .cmd / .bat for Windows-konsollskript |
| Sikkerhetsmerknad | Historisk sett en stor skadevarevektor - trivielt eksekverbar og enkel å endre uten å ødelegge strukturen; ofte forkledd som domene-lignende filnavn |
| Operativsystemer | MS-DOS, PC DOS, FreeDOS, Windows 32-bit (via NTVDM), CP/M; DOSBox/DOSBox-X for moderne bruk |
| Utgitt | 1974 (CP/M); MS-DOS 1.0, 1981 |
| Siste versjon | No versioning - raw binary format unchanged |
COM-konverteringer
Spørsmål og svar fra fellesskapet
spurt av brukereIngen spørsmål ennå - vær den første til å spørre om COM-filer.