Was ist das COM-Dateiformat?
Eine .com-Datei ist eine einfache ausführbare Binärdatei - eines der ältesten Programmformate in der Geschichte der Personal Computer, das seinen Ursprung im CP/M-Betriebssystem von Digital Research hatte, bevor es in MS-DOS übernommen wurde. Im Gegensatz zum .exe-Format, das mehrere Speichersegmente und Relokationstabellen unterstützt, ist ein .com-Programm eine reine flache Binärdatei ohne Dateikopf: Jedes Byte wird direkt an den Offset 0x0100 innerhalb eines einzelnen 64-KB-Real-Mode-Segments in den Speicher geladen und sofort ausgeführt. Diese architektonische Einschränkung bedeutet, dass eine .com-Datei niemals eine Größe von etwa 64 KB überschreiten kann.
Obwohl sie durch das allgemeinere .exe-Format ergänzt wurde, blieb die .com-Datei während der gesamten MS-DOS-Ära für kleine Dienstprogramme, Befehlszeilenwerkzeuge und TSR-Programme praktisch und weit verbreitet. Unter 32-Bit-Windows führte das NTVDM-Subsystem .com-Dateien transparent aus; NTVDM wurde aus 64-Bit-Windows entfernt, sodass die native Ausführung auf modernem Windows einen Emulator wie DOSBox erfordert.
Die Dateiendung .com hat keinerlei Verbindung zum Top-Level-Domainnamen .com im Internet. Diese Namensgleichheit wurde in der Vergangenheit von Malware-Autoren ausgenutzt, die ausführbare .com-Dateien als Links oder Text tarnen, was das Format zu einem gut dokumentierten Social-Engineering-Vektor macht.
Sicherheit
RISIKO: HIGHCOM-Dateien sind ausführbarer Code - historisch gesehen der primäre Träger für DOS-Malware (Bootsektor-Viren haben oft .com-Infektoren hinterlassen). Auf modernem 64-Bit-Windows können sie nicht nativ ausgeführt werden, was eine praktische Sicherheitsbarriere darstellt, aber auf 32-Bit-Systemen oder innerhalb von DOS-Emulatoren werden sie ohne Einschränkung ausgeführt. Führen Sie niemals eine unerwartet erhaltene COM-Datei aus; scannen Sie diese mit einem Antivirenprogramm, bevor Sie sie in einem Emulator starten. Besonderes Risiko: Webnutzer verwechseln .com (Domain) mit .com (ausführbare Datei) und laden unwissentlich ausführbare Dateien herunter, im Glauben, es handele sich um Webseiten.
Formatdetails
kurz gefasst- Windows Component Object Model Registrierungs-Stub - Selten; einige sehr alte Windows COM-Server-Selbstregistrierungsprogramme verwendeten die Endung .com.
- Netzwerk-Befehlsskript (Cisco IOS etc.) - Einige eingebettete Geräte oder Netzwerkgeräte verwenden .com für Firmware oder Befehlsskripte - ohne Bezug zu DOS.
Programme zum Öffnen von COM-Dateien
Technische Details
technische Spezifikation| Kodierung | Reiner Binär-Maschinencode (x86 Real-Mode) |
| Byte-Reihenfolge | Little-endian (x86) |
| Dateikopf | Keiner - flache Binärdatei ohne Header, ohne Relokationstabelle, ohne Segmentdeskriptoren |
| Dateisignatur | Keine - wird nur über die Dateiendung identifiziert; die ersten Bytes sind typischerweise ein JMP-Opcode (0xEB oder 0xE9), aber nicht zwingend erforderlich |
| Ladeadresse | Geladen bei Segment:0x0100; Program Segment Prefix (PSP) belegt die Bytes 0x0000-0x00FF des Segments |
| Speichermodell | CS = DS = ES = SS zeigen alle auf dasselbe 64-KB-Real-Mode-Segment - keine Segmenttrennung |
| Maximale Dateigröße | ~65.280 Bytes (ein 64-KB-Segment abzüglich 256-Byte-PSP und minimaler Stack-Zuweisung) |
| MIME-Typ | application/x-msdos-program |
| 64-Bit-Windows-Unterstützung | Nicht nativ unterstützt - NTVDM (16-Bit-Subsystem) aus 64-Bit-Windows entfernt; verwenden Sie DOSBox oder DOSBox-X |
| CP/M-Erbe | Format stammt von Digital Research CP/M (1974) und wurde unverändert für MS-DOS 1.0 (1981) übernommen |
| Abgelöst durch | .exe für Programme über 64 KB; .cmd / .bat für Windows-Konsolenskripte |
| Sicherheitshinweis | Historisch gesehen ein bedeutender Malware-Vektor - trivial ausführbar und leicht modifizierbar, ohne die Struktur zu zerstören; oft als Dateinamen im Domain-Stil getarnt |
| Betriebssysteme | MS-DOS, PC DOS, FreeDOS, Windows 32-Bit (über NTVDM), CP/M; DOSBox/DOSBox-X für moderne Nutzung |
| Veröffentlicht | 1974 (CP/M); MS-DOS 1.0, 1981 |
| Neueste Version | No versioning - raw binary format unchanged |
COM-Konvertierungen
Community Q&A
von Nutzern gefragtNoch keine Fragen - stellen Sie die erste Frage zu COM-Dateien.